Currently we only allow voting for candidates with same config as ours, due to the issue stated in SERVER-46387. However this causes a liveness issue where if a primary is stuck in catchup/drain mode with a lower config, catchup takeover cannot bail it out because catchup takeover requires vote from primary and primary cannot install a new config during catchup/drain mode. If that happens, the whole replica set will hang because there will be no writable primary. It should be safe to allow voting for candidates with higher config as we used to do, which was also verified by TLA+, but we need to take care of the issue stated in SERVER-46387.
- causes
-
SERVER-59083 catchup_takeover_with_higher_config.js needs to be excluded from multiversion suite for last-continuous
- Closed
- is caused by
-
SERVER-46387 Only vote for candidate with same config version and term as self
- Closed
- is depended on by
-
SERVER-58788 Update TLA+ to allow voting for candidate with higher config
- Open
-
SERVER-59041 Update replication architecture guide to reflect the changes in SERVER-57262
- Closed
- related to
-
SERVER-58787 Incorrect use of candidateIndex from a previous config during vote processing.
- Closed
-
SERVER-58988 Avoid sync source selection cycle during primary catchup.
- Closed
-
SERVER-58939 Set catchUpTimeoutMillis if catchup takeover is disabled
- Backlog