Hi,
We're migrating from EhCache/Terracotta 3.4.x version and experimenting with BigMemory 4.0.5.
One of the behavior changes I observed for terracotta-clustered cache is that now it seems not possible to retrieve back a "live" object that has been previously put.
In other words:
Code:
Cache cache = ...(get a Terracotta-clustered cache from cacheManager)
Element element = new Element ("key", "value");
cache.put(element);
Element retrievedElement = cache.get("key");
System.out.println(element == retrievedElement); // I really meant ==
// In Terracotta 3.4.x this prints true
// In BigMemory 4.0.5 this prints false
I understand the necessity for serializing elements for L2 storage (and also understands the necessity for coding on EhCache without assuming the same object identity), but I wonder if this extra deserialization can affect performance?
Please note that I tried several settings, such as copyOnRead/copyOnWrite, pinning, etc. without much success.
Thanks