Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Elector identification now happens more reliably
When an instance joins an HA cluster, it assumes all other members, as they are received in the configuration response, are alive. This means that, if the newly joining instance, is the lowest numbered alive one but there are others, lower numbered, but which are failed, it will choose not to trigger elections. Updating liveness state afterwards, through suspicion gossip, will not alter that since marking a member as failed does not result in elections if that member does not hold any roles. This patch addresses this issue by making liveness information part of the configuration response and consulting that list on the first election request. By getting all alive instances and removing what the cluster says is currently failed, we end up with a reliable list of alive members which then we can check and see who the elector is.
- Loading branch information
1 parent
e32a3b9
commit 34c1b31
Showing
12 changed files
with
196 additions
and
104 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.