[infinispan-dev] StressTest: why removals are not working as expected

Bela Ban bban at redhat.com
Thu Oct 29 08:00:54 EDT 2009



Galder Zamarreno wrote:
> I've replicated this in
> https://svn.jboss.org/repos/infinispan/trunk/core/src/test/java/org/infinispan/distribution/DisabledL1Test.java
>
> 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



More information about the infinispan-dev mailing list