Seeing this issue on AIX machines. Looks like trove jar behaves diffrently based on Open JDK and Oracle JDK. Any thoughts on this? java.lang.Thread.State: RUNNABLE at gnu.trove.impl.hash.TObjectHash.insertKeyRehash(TObjectHash.java:348) at gnu.trove.impl.hash.TObjectHash.insertKey(TObjectHash.java:294) at gnu.trove.map.custom_hash.TObjectIntCustomHashMap.put(TObjectIntCustomHashMap.java:252) at gnu.trove.map.custom_hash.TObjectIntCustomHashMap.readExternal(TObjectIntCustomHashMap.java:1141) at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:2076)...
Seeing this issue on few servers. Does usage of different JDKs cause this issue? Because of this the server is not coming up. java.lang.Thread.State: RUNNABLE at gnu.trove.impl.hash.TObjectHash.insertKeyRehash(TObjectHash.java:348) at gnu.trove.impl.hash.TObjectHash.insertKey(TObjectHash.java:294) at gnu.trove.map.custom_hash.TObjectIntCustomHashMap.put(TObjectIntCustomHashMap.java:252) at gnu.trove.map.custom_hash.TObjectIntCustomHashMap.readExternal(TObjectIntCustomHashMap.java:1141) at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:2076)...
Seeing this issue in few servers. Does usage of different JDKs cause this issue? java.lang.Thread.State: RUNNABLE at gnu.trove.impl.hash.TObjectHash.insertKeyRehash(TObjectHash.java:348) at gnu.trove.impl.hash.TObjectHash.insertKey(TObjectHash.java:294) at gnu.trove.map.custom_hash.TObjectIntCustomHashMap.put(TObjectIntCustomHashMap.java:252) at gnu.trove.map.custom_hash.TObjectIntCustomHashMap.readExternal(TObjectIntCustomHashMap.java:1141) at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:2076)...
Thanks Rob and Michal for your response.
We have extended both THashMap and THashSet by several methods supporting read access under the optimistic read lock (StampedLock) or even without any synchronization if both key and value support out-of-think-air safety or you know how to play with Unsafe memory fences. It allows then fully concurrent reads with single threaded writes. Making writes concurrent would require complete reimplementation and would be rather impossible as most of the concurrent write implementations play with visibility...
TCollections.synchronizedSet is type agnostic, simply wrapping whatever implementation is given to it (as Collections.unmodifiableSet does from the JDK). Implementing a concurrent set isn't trivial and I am by no means an expert. I know the JDK implements a concurrent skip list for sets and ConcurrentHashMap uses a system of buckets.
Thanks Rob for your response. Could you help me sharing your thoughts to achive concurrency with TCustomeHashSet? A high level idea would also be helpful. I checked TCollections.synchronizedSet but I think it doesn't support TCustomHashSet type. I will recheck this again. Thanks
Quite a few people have talked about it, but I don't think I've seen an actual implementation (or beginnings of one). Doing it properly would be quite an undertaking, but it is obviously doable. Side note: rather than extending TCustomHashSet, you should be able to use TCollections.synchronizedSet.
Quite a few people have talked about it, but I don't think I've seen an actual implementation (or beginnings of one). Doing it properly would be quite an undertaking, but it is obviously doable. Side note: rather than extending TCustomHashSet, would should be able to use TCollections.synchronizedSet.
Is anyone had tried implementing concurrent version of TCustomHashSet provided by trove lib? We are majorly using trove collections and need to have concurrency in order to handle parallel tasks. I don't want to go with ConcurrentHashMap because I want to utilize the adavntage of primitive datatype keys. I don't see trove lib provides any such concurrent classes but if anyone help to achive the same would be a great help. Currently I am trying to use a "mutex" object for synchronization in my custom...
Let's discuss in the Stack Overflow question you raised: https://stackoverflow.com/questions/48170039/gnu-trove-classes-throws-java-lang-arithmeticexception-divide-by-zero
Hi, My application throws divide by zero exceptions in different areas of the gnu.trove library code e.g.: 1. java.lang.ArithmeticException: divide by zero at gnu.trove.TIntHash.index(TIntHash.java:201) at gnu.trove.TIntObjectHashMap.get(TIntObjectHashMap.java:204) 2. java.lang.ArithmeticException: divide by zero at gnu.trove.TIntHash.insertionIndex(TIntHash. at gnu.trove.TIntObjectHashMap.put(TIntObjectHashMap.java:153) 3. java.lang.ArithmeticException: divide by zero at gnu.trove.TPrimitiveHash.capacity(TPrimitiveHash.java:99)...
I would classify this as a bug. The short answer is that the equals() implementation...
If you look at the implementation of TIntArrayList.wrap(), it is an anonymous inner...
Is there a better way to compare TUnmodifiableIntLists? I find it rather counterintuitive...
I get an odd result when I try to write then read (using Java ObjectStreams) a TIntList....
Hi Bill, welcome to Trove. I believe the source jar in maven should have everything....
Hi, I'm a new user. I'm looking for a Trove source jar which I can attach in Eclipse...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
Hello all - First off, the official Trove repo has moved locations on BitBucket....
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
Code and the issue database has moved to BitBucket. There's a link on the front SF...
Can't seem to find out where to post bug info, so here it is. Keep getting out of...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...
The changes committed in association to this are problematic. This is because rehash()...