Merge pull request #21247 from akka/wip-21236-oldest-back-again-patriknw
Fix regression in Cluster Singleton
This commit is contained in:
commit
b9592cbc6b
1 changed files with 6 additions and 1 deletions
|
|
@ -608,6 +608,9 @@ class ClusterSingletonManager(
|
||||||
// already oldest
|
// already oldest
|
||||||
stay
|
stay
|
||||||
case Some(a) if !selfExited && removed.contains(a) ⇒
|
case Some(a) if !selfExited && removed.contains(a) ⇒
|
||||||
|
// The member removal was not completed and the old removed node is considered
|
||||||
|
// oldest again. Safest is to terminate the singleton instance and goto Younger.
|
||||||
|
// This node will become oldest again when the other is removed again.
|
||||||
gotoHandingOver(singleton, singletonTerminated, None)
|
gotoHandingOver(singleton, singletonTerminated, None)
|
||||||
case Some(a) ⇒
|
case Some(a) ⇒
|
||||||
// send TakeOver request in case the new oldest doesn't know previous oldest
|
// send TakeOver request in case the new oldest doesn't know previous oldest
|
||||||
|
|
@ -683,7 +686,9 @@ class ClusterSingletonManager(
|
||||||
if (removed.contains(cluster.selfUniqueAddress)) {
|
if (removed.contains(cluster.selfUniqueAddress)) {
|
||||||
logInfo("Self removed, stopping ClusterSingletonManager")
|
logInfo("Self removed, stopping ClusterSingletonManager")
|
||||||
stop()
|
stop()
|
||||||
} else
|
} else if (handOverTo.isEmpty)
|
||||||
|
goto(Younger) using YoungerData(None)
|
||||||
|
else
|
||||||
goto(End) using EndData
|
goto(End) using EndData
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue