After Upgrading to 12.1.2.0.1 From 3.7.1 Errors of this Form, "An entry was inserted into the backing map for the partitioned cache "rwbm-event-cache" in partition 255 which is not owned by this member; the entry will be removed.", Started to be Reported
(Doc ID 1636676.1)
Last updated on FEBRUARY 18, 2025
Applies to:
Oracle Coherence - Version 12.1.2.0.1 and laterInformation in this document applies to any platform.
Symptoms
After upgrading from 3.7.1.10 to 12.1.2.0.1 in production customer is seeing the below error in the logs for one particular node out of 191 Storage nodes:
Changes
In Coherence version 3.7.1, ReadWriteBackingMap.getAll() iterates over the set of keys passed to CacheLoader.loadAll(), and puts the returned values for those keys into the ReadWriteBackingMap internal cache. But in Coherence version 12.1, ReadWriteBackingMap.getAll() iterates over the set of all map entries returned by CacheLoader.loadAll(), and puts those map entries into the ReadWriteBackingMap's internal cache. Thus in 12.1.2, if CacheLoader.loadAll() returns more values than keys passed in, those additional values will be inserted (temporarily) into the ReadWriteBackingMap's internal cache, whereas in 3.7.1 they were ignored.
PartitionedCache$Storage.doBackingMapEvent() is called for each insertion into the ReadWriteBackingMap's internal cache. If the key being inserted is not owned by the local storage member, the above message is logged, and the key is removed from the local map that is, from the ReadWriteBackingMap's internal cache. This logic in PartitionedCache$Storage.doBackingMapEvent() has not changed from 3.7.1 to 12.1.2, but is now being exercised more in 12.1.2 due to additional values returned from CacheLoader.loadAll() not being ignored as they were in 3.7.1
Therefore there was a slight behavior change between 3.7.1 and 12.1.2, which causes log messages in 12.1.2 not seen 3.7.1 on insertion of unowned keys, but has no other net effect. Cache contents are the same between 3.7.1 and 12.1.2, after ReadWriteBackingMap.getAll() returns, since PartitionedCache$Storage.doBackingMapEvent() removes the unowned key from the local map.
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Changes |
Cause |
Solution |
References |