diff --git a/src/contrib/cluster/Akka.Cluster.Tools/Singleton/ClusterSingletonManager.cs b/src/contrib/cluster/Akka.Cluster.Tools/Singleton/ClusterSingletonManager.cs index e79459db1c5..c519b70a88a 100644 --- a/src/contrib/cluster/Akka.Cluster.Tools/Singleton/ClusterSingletonManager.cs +++ b/src/contrib/cluster/Akka.Cluster.Tools/Singleton/ClusterSingletonManager.cs @@ -903,6 +903,12 @@ private void InitializeFSM() { return GoToHandingOver(oldest.Singleton, oldest.SingletonTerminated, Sender); } + else if (e.FsmEvent is TakeOverFromMe) + { + // already oldest, so confirm and continue like that + Sender.Tell(HandOverToMe.Instance); + return Stay(); + } else if (e.FsmEvent is Terminated terminated && e.StateData is OldestData o && terminated.ActorRef.Equals(o.Singleton)) { return Stay().Using(new OldestData(o.Singleton, true));