=clu #18554 Make oldest assignment deterministic when joining

* the reported issue is fixed by the immediate leaderActions
  (moving to Up)  when joining the first node to itself
* the other changes are precautions just in case
This commit is contained in:
Patrik Nordwall 2015-10-21 07:53:12 +02:00
parent 1bacae3cac
commit 9380983d3c
9 changed files with 116 additions and 99 deletions

View file

@ -275,7 +275,8 @@ object ClusterEvent {
val newMembers = newGossip.members -- oldGossip.members
val membersGroupedByAddress = List(newGossip.members, oldGossip.members).flatten.groupBy(_.uniqueAddress)
val changedMembers = membersGroupedByAddress collect {
case (_, newMember :: oldMember :: Nil) if newMember.status != oldMember.status newMember
case (_, newMember :: oldMember :: Nil) if newMember.status != oldMember.status || newMember.upNumber != oldMember.upNumber
newMember
}
val memberEvents = (newMembers ++ changedMembers) collect {
case m if m.status == WeaklyUp MemberWeaklyUp(m)