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.

Reply via email to