[SERVER-57262] Allow nodes to vote for candidates with higher config Created: 27/May/21  Updated: 29/Oct/23  Resolved: 02/Aug/21

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 5.0.3, 4.4.9, 5.1.0-rc0

Type: Bug Priority: Major - P3
Reporter: Ali Mir Assignee: Wenbin Zhu
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
is depended on by SERVER-58788 Update TLA+ to allow voting for candi... Open
is depended on by SERVER-59041 Update replication architecture guide... Closed
Problem/Incident
causes SERVER-59083 catchup_takeover_with_higher_config.j... Closed
is caused by SERVER-46387 Only vote for candidate with same con... Closed
Related
related to SERVER-58787 Incorrect use of candidateIndex from ... Closed
related to SERVER-58988 Avoid sync source selection cycle dur... Closed
related to SERVER-58939 Set catchUpTimeoutMillis if catchup t... Backlog
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v5.0, v4.4
Sprint: Repl 2021-06-28, Repl 2021-07-26, Repl 2021-08-09
Participants:

 Description   

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.



 Comments   
Comment by Vivian Ge (Inactive) [ 06/Oct/21 ]

Updating the fixversion since branching activities occurred yesterday. This ticket will be in rc0 when it’s been triggered. For more active release information, please keep an eye on #server-release. Thank you!

Comment by Githook User [ 11/Aug/21 ]

Author:

{'name': 'Wenbin Zhu', 'email': 'wenbin.zhu@mongodb.com', 'username': 'WenbinZhu'}

Message: SERVER-57262 Relax vote constraint to allow voting for candidates with newer config.

(cherry picked from commit e7937256045a2a182c583c7aacaf168e02cf0d06)
Branch: v4.4
https://github.com/mongodb/mongo/commit/d21efd2cc4ac16693589f4d7da1cf229c4d08b8d

Comment by Githook User [ 09/Aug/21 ]

Author:

{'name': 'Wenbin Zhu', 'email': 'wenbin.zhu@mongodb.com', 'username': 'WenbinZhu'}

Message: SERVER-57262 Relax vote constraint to allow voting for candidates with newer config.

(cherry picked from commit e7937256045a2a182c583c7aacaf168e02cf0d06)
Branch: v5.0
https://github.com/mongodb/mongo/commit/50b33ca04022dc97b54b379dd89e38593032868b

Comment by Githook User [ 02/Aug/21 ]

Author:

{'name': 'Wenbin Zhu', 'email': 'wenbin.zhu@mongodb.com', 'username': 'WenbinZhu'}

Message: SERVER-57262 Relax vote constraint to allow voting for candidates with newer config.
Branch: master
https://github.com/mongodb/mongo/commit/e7937256045a2a182c583c7aacaf168e02cf0d06

Comment by Wenbin Zhu [ 26/Jul/21 ]

Updating title and description.

Generated at Thu Feb 08 05:41:24 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.