-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Akka.Cluster.Tools.Singleton: singleton moves earlier than expected - as soon as new node joins #7196
Comments
Marking this bug as critical - one of the major side effects from this issue is that we can create split brains with all cluster singletons during deployments when the |
So this bug likely affected less people than I initially thought as
Has been set to |
Looks like the original issue reported by the end user wasn't even caused by the |
Eliminates the source of akkadotnet#6793, which was caused by using the incorrect ordering methodology when it came to determining which `ClusterSingletonManager` to hand-over to during member state transitions. close akkadotnet#6973 close akkadotnet#7196
AppVersion
joins cluster?
Version Information
Version of Akka.NET? v1.5.0
Which Akka.NET Modules? Akka.Cluster.Tools
Describe the bug
Chasing down and issue for a production support customer - they have a custom
pbm
command for being able to track the location of cluster singletons. They confirmed the singleton was on a specific node and decided to replace that one last during a version upgrade. What they observed was: the singleton moved onto the newest node with the highestAppVersion
even before that oldest node was downed!Expected behavior
As I wrote back to the customer originally, the singleton should only move onto a new node AFTER the node it's currently on begins to leave the cluster. This leads me to believe that the following code might have a bug in how we compute the sort order for who the most suitable location is for a singleton:
akka.net/src/contrib/cluster/Akka.Cluster.Tools/Singleton/OldestChangedBuffer.cs
Lines 98 to 112 in 3f0be58
In fact, I'm almost certain that this is the case.
The text was updated successfully, but these errors were encountered: