[infinispan-dev] DistributionManagerImpl.rehash()

Bela Ban bban at redhat.com
Mon Jan 31 09:25:27 EST 2011


I see that this method calls MembershipArithmetic.getMemberJoined(), 
which returns the newly joined member. This is done by removing the 
existing members from the new members, and returning the first element 
of the remaining list.

However, when we have view V1={A,B} and V2={A,B,C,D}, then the method 
getMemberJoined() returns C, but skips D.

It seems to me that this logic is based on the assumption that JGroups 
only ever joins and removes 1 member at a time, but this is not correct, 
as JGroups can join multiple new members, or remove multiple members at 
once, too.

Can you guys take a look ?

-- 
Bela Ban
Lead JGroups / Clustering Team
JBoss


More information about the infinispan-dev mailing list