Hi Matt, I'm confused. The locking does happen on per-entry level, otherwise it's impossible to guarantee data consistency. Two concurrent updates or reads for the same key will wait for each other on this lock. But this should not cause performance degradation, unless you have very few keys and very high contention on them.
The only thing I see here is that the value is deserialized on read. This is done because JCache requires store-by-value semantics and thus we create a copy each time you get the value (by deserializing its binary representation). You can override this behavior by setting CacheConfiguration.setCopyOnRead(false) property, this should give you performance improvement. Only note that it's not safe to modify the instance that you got from cache this way. -Val -- View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Performance-Issue-Threads-blocking-tp4433p4465.html Sent from the Apache Ignite Users mailing list archive at Nabble.com.