+clu #13584 Accept joining to be WeaklyUp during network split
* experimental feature, disabled by default * Adding documentation to mention weakly up members. plus adding new diagram.
This commit is contained in:
parent
3a436bb4a3
commit
c08bc317e2
19 changed files with 329 additions and 45 deletions
|
|
@ -121,6 +121,16 @@ object ClusterEvent {
|
|||
def member: Member
|
||||
}
|
||||
|
||||
/**
|
||||
* Member status changed to WeaklyUp.
|
||||
* A joining member can be moved to `WeaklyUp` if convergence
|
||||
* cannot be reached, i.e. there are unreachable nodes.
|
||||
* It will be moved to `Up` when convergence is reached.
|
||||
*/
|
||||
final case class MemberWeaklyUp(member: Member) extends MemberEvent {
|
||||
if (member.status != WeaklyUp) throw new IllegalArgumentException("Expected WeaklyUp status, got: " + member)
|
||||
}
|
||||
|
||||
/**
|
||||
* Member status changed to Up.
|
||||
*/
|
||||
|
|
@ -268,8 +278,9 @@ object ClusterEvent {
|
|||
case (_, newMember :: oldMember :: Nil) if newMember.status != oldMember.status ⇒ newMember
|
||||
}
|
||||
val memberEvents = (newMembers ++ changedMembers) collect {
|
||||
case m if m.status == Up ⇒ MemberUp(m)
|
||||
case m if m.status == Exiting ⇒ MemberExited(m)
|
||||
case m if m.status == WeaklyUp ⇒ MemberWeaklyUp(m)
|
||||
case m if m.status == Up ⇒ MemberUp(m)
|
||||
case m if m.status == Exiting ⇒ MemberExited(m)
|
||||
// no events for other transitions
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue