Galder Zamarreno wrote:
I've replicated this in
https://svn.jboss.org/repos/infinispan/trunk/core/src/test/java/org/infin...
When we call getFirstNonOwner("k1").put("k1", "value");
apart from
replicating k1 to the owners of k1, it also resides in the non owner.
So, when we call getOwners("k1")[0].remove("k1");, it will only
remove
it from those nodes where k1 is owner. The end result is that a
non-owner ends up with k1.
The fix for this does not seem trivial: You either, avoid non-owners
storing data in the cache if DIST and !L1, or when !L1, do a cluster
wide removal.
For me, the fix is clear: a non-owner must never store a key ! Or else
we defy the purpose of DIST and have too many copies of data in a grid !
--
Bela Ban
Lead JGroups / Clustering Team
JBoss