On 29 Oct 2009, at 12:00, Bela Ban wrote:
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 !
I agree. A non-owner is only allowed to store the key if L1 is enabled.
--
Manik Surtani
manik(a)jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org