Due to a known (fixed) bug in Hazelcast 2.5, we decided that this would be the next candidate for the update for our project. But after a crash in the latest version (3.2.2), we had terrible performance.
How we use Hazelcast:
- Two knots
- Multiple IMap instances (about 7 cards in total)
- Both nodes update maps
- Numerous card readings
- almost cache is included to speed reading
Using Hazelcast 2.5, we had excellent performance when, instead of map.values() we provided a list of all the keys contained in map.getAll(containedKeys) . A way to track contained keys by adding an EntryListener to the card that stores the contained keys in a parallel set. This was added by a colleague and looks like a hack, but it works like a charm.
Now, when we upgrade to Hazelcast 3.2.2, we immediately see problems with java.io , for example, consider the following fragment from AppDynamics:
com.hazelcast.map.proxy.MapProxyImpl:getAll:326 (method time = 0 ms, total time = 18938 ms) com.hazelcast.map.proxy.MapProxySupport:getAllObjectInternal:495 (method time = 0 ms, total time = 18938 ms) com.hazelcast.map.MapService:toObject:852 (method time = 0 ms, total time = 18938 ms) com.hazelcast.spi.impl.NodeEngineImpl:toObject:156 (method time = 0 ms, total time = 18938 ms) com.hazelcast.nio.serialization.SerializationServiceImpl:toObject:221 (method time = 0 ms, total time = 18938 ms) com.hazelcast.nio.serialization.StreamSerializerAdapter:read:59 (method time = 0 ms, total time = 18938 ms) com.hazelcast.nio.serialization.DefaultSerializers$ObjectSerializer:read:185 (method time = 0 ms, total time = 18938 ms) java.io.ObjectInputStream:readObject:370 (method time = 3398 ms, total time = 18938 ms) java.io.ObjectInputStream:readObject:370 (method time = 15540 ms, total time = 15540 ms)
This is what we did not see in Hazelcast 2.5, but in 3.2.2. This makes our application stop completely. Replace the jar with 2.5 again (and rename Entry back to MapEntry), and nothing happens.
What could be the reason for this? Maybe he no longer uses almost the cache?
java java-io hazelcast appdynamics
Roy van Rijn
source share