Details
-
Bug
-
Status: Resolved
-
Resolution: Done
-
Beryllium
-
None
-
None
-
Operating System: All
Platform: All
-
5613
Description
In a case when majority of node in cluster are restarted, Entity ownership service sends isOwner=True to Listener on a node that is not registered as candidate yet after a restart of a node.
Ex:
There is 3 node cluster with, member-1, member-2, member-3 as its cluster members.
Lets say member-1 is EntityOwnershipShard Leader.
Then all three members register as candidate for "Entity1", and member-1 becomes owner of "Entity1".
After this if member-1 and member-2 both restart. Now if the application code to register is written in such a way that it adds listener first and then register itself as candidate when "ready" to become candidate of "Entity1". However, one of those started nodes receive "isOwner" way ahead and then the register candidate code goes through.
Here the consumer of the service is expecting that the the member should not be a candidate unless registered for. However during restarts the candidates get added automatically even before registration.
So there is need to separate the case of nodes going in partition and restart of nodes.