This is a bug, but it isn't in handling joiners. Join is a pull process, so existing
members only detect joiners and log it - nothing "important" happens with the
results of MembershipArithmetic.getMemberJoined().
MembershipArithmetic.getMemberLeft(), OTOH, is important - and has a similar bug. This is
odd, because we also have MembershipArithmetic.getMembersLeft()
(MembershipArithmetic.getMembersJoined()) - which return all affected members, not just
the first one - but these seem unused for some reason.
I'll investigate. Thanks for pointing this out.
Cheers
Manik
On 31 Jan 2011, at 14:25, Bela Ban wrote:
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
_______________________________________________
infinispan-dev mailing list
infinispan-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev
--
Manik Surtani
manik(a)jboss.org
twitter.com/maniksurtani
Lead, Infinispan
http://www.infinispan.org