Introduce 'MemberDowned' member event (#25854)
* Introduce 'MemberDowned' member event Compatiblity note: MemberEvent is a sealed trait, so it is debatable whether it is acceptable to introduce a new member. * Be more conservative (more like leaving), add test
This commit is contained in:
parent
cb9b35d8ee
commit
079aa46733
6 changed files with 30 additions and 1 deletions
|
|
@ -263,6 +263,14 @@ object ClusterEvent {
|
|||
if (member.status != Exiting) throw new IllegalArgumentException("Expected Exiting status, got: " + member)
|
||||
}
|
||||
|
||||
/**
|
||||
* Member status changed to `MemberStatus.Down` and will be removed
|
||||
* when all members have seen the `Down` status.
|
||||
*/
|
||||
final case class MemberDowned(member: Member) extends MemberEvent {
|
||||
if (member.status != Down) throw new IllegalArgumentException("Expected Down status, got: " + member)
|
||||
}
|
||||
|
||||
/**
|
||||
* Member completely removed from the cluster.
|
||||
* When `previousStatus` is `MemberStatus.Down` the node was removed
|
||||
|
|
@ -449,6 +457,7 @@ object ClusterEvent {
|
|||
case m if m.status == Up ⇒ MemberUp(m)
|
||||
case m if m.status == Leaving ⇒ MemberLeft(m)
|
||||
case m if m.status == Exiting ⇒ MemberExited(m)
|
||||
case m if m.status == Down ⇒ MemberDowned(m)
|
||||
// no events for other transitions
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue