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

Manik Surtani manik at jboss.org
Thu Oct 29 08:14:30 EDT 2009


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/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 !

I agree.  A non-owner is only allowed to store the key if L1 is enabled.


--
Manik Surtani
manik at jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org







More information about the infinispan-dev mailing list