Add previousStatus in MemberRemoved, see #3252
This commit is contained in:
parent
f3f55d4972
commit
ee6e80d31a
15 changed files with 39 additions and 42 deletions
|
|
@ -111,8 +111,12 @@ object ClusterEvent {
|
|||
|
||||
/**
|
||||
* Member completely removed from the cluster.
|
||||
* When `previousStatus` is `MemberStatus.Down` the node was removed
|
||||
* after being detected as unreachable and downed.
|
||||
* When `previousStatus` is `MemberStatus.Exiting` the node was removed
|
||||
* after graceful leaving and exiting.
|
||||
*/
|
||||
case class MemberRemoved(member: Member) extends MemberEvent {
|
||||
case class MemberRemoved(member: Member, previousStatus: MemberStatus) extends MemberEvent {
|
||||
if (member.status != Removed) throw new IllegalArgumentException("Expected Removed status, got: " + member)
|
||||
}
|
||||
|
||||
|
|
@ -200,7 +204,7 @@ object ClusterEvent {
|
|||
|
||||
val removedMembers = (oldGossip.members -- newGossip.members -- newGossip.overview.unreachable) ++
|
||||
(oldGossip.overview.unreachable -- newGossip.overview.unreachable)
|
||||
val removedEvents = removedMembers.map(m ⇒ MemberRemoved(m.copy(status = Removed)))
|
||||
val removedEvents = removedMembers.map(m ⇒ MemberRemoved(m.copy(status = Removed), m.status))
|
||||
|
||||
(new VectorBuilder[MemberEvent]() ++= memberEvents ++= removedEvents).result()
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue