Details
-
Bug
-
Status: Resolved
-
Resolution: Done
-
None
-
None
-
None
-
Operating System: All
Platform: All
-
5607
Description
This is a race condition between EntityOwnershipService (EOS) and candidate closures from each of the nodes.
When a switch is disconnected from a cluster of say 5 nodes, when each of the nodes close candidate registrations with EOS, EOS passes on the ownership to another one.
For slaves as soon as we get a disconnect, we immediately clean the roleContext map and then close the candidate.
But EOS might have assigned it as the new master and then process the candidate closure. And if that node is the last node, when its candidate closure is processed it will receive a
{hasOwner=false, wasOwner=true, isOwner=false}notification to it.
But since we have closed the roleContext before that, we dont have the required context to cleanup the inventory.
We need to ensure that even if a candidate is closed we might receive a hasOwner=false notification and need to handle it.