-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: 4.3.3
-
Component/s: Replication
-
None
-
Fully Compatible
-
ALL
-
v4.4
-
-
Repl 2020-03-23
If we remove a secondary from a replica set config, it will enter the REMOVED state and record its selfIndex as -1. It is possible that a primary reconfigs to add this secondary back into the config and runs for a new election before this secondary learns that it is no longer REMOVED. In this scenario, it is possible for the primary to send a vote request to the REMOVED secondary, which triggers an invariant when the secondary tries to look itself up via the TopologyCoordinator::_selfConfig method. Since it is REMOVED, its selfIndex is -1 which causes us to violate this invariant.
- causes
-
SERVER-57262 Allow nodes to vote for candidates with higher config
- Closed
- is depended on by
-
SERVER-46667 Avoid invariant from invalid candidateIndex
- Closed
- related to
-
SERVER-45080 Voters should reject a candidate if the voter has a higher config than the candidate
- Closed
-
SERVER-47430 Update TLA+ to only vote for candidate with same config version and term as self
- Closed