[SERVER-48450] Fail reconfigs that contain non-voting nodes from another replica set Created: 27/May/20  Updated: 29/Oct/23  Resolved: 05/Oct/20

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: 4.9.0

Type: Bug Priority: Major - P3
Reporter: Judah Schvimer Assignee: Xuerui Fa
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Documented
is documented by DOCS-13907 Investigate changes in SERVER-48450: ... Closed
Related
related to SERVER-51277 Refactor quorumHbs in reconfig unit t... Backlog
Backwards Compatibility: Minor Change
Sprint: Repl 2020-07-13, Repl 2020-07-27, Repl 2020-10-05, Repl 2020-10-19
Participants:
Linked BF Score: 0

 Description   

Currently the quorum check doesn't require checking non-voting nodes, so even though they'll error, that won't prevent the reconfig from succeeding. Currently If a reconfig adds a non-voting node that is already initialized in another RS, that node will go into the "DOWN" state since it will reject every heartbeat made to it. Failing the reconfig would be a better user experience.



 Comments   
Comment by Githook User [ 07/Oct/20 ]

Author:

{'name': 'XueruiFa', 'email': 'xuerui.fa@mongodb.com', 'username': 'XueruiFa'}

Message: SERVER-48450: Temporarily disable unit test
Branch: master
https://github.com/mongodb/mongo/commit/f1f8d7fd662acf82a06d3ae11756a958c04b7e88

Comment by Githook User [ 05/Oct/20 ]

Author:

{'name': 'XueruiFa', 'email': 'xuerui.fa@mongodb.com', 'username': 'XueruiFa'}

Message: SERVER-48450: Fail reconfigs that contain non-voting nodes from another replica set
Branch: master
https://github.com/mongodb/mongo/commit/4a24ad41713def49c9216d958d49477ac793e3c5

Comment by Judah Schvimer [ 07/Jul/20 ]

In this ticket we should consider undoing the changes to jstests/replsets/disallow_adding_initialized_node1.js made in this commit (SERVER-46541).

Comment by A. Jesse Jiryu Davis [ 30/Jun/20 ]

Check whether a reconfig succeeds if a minority of voters were initialized in a different RS.

Comment by Siyuan Zhou [ 15/Jun/20 ]

Yeah, sounds good to me!

Comment by Judah Schvimer [ 10/Jun/20 ]

I'm in favor.

Comment by Tess Avitabile (Inactive) [ 10/Jun/20 ]

siyuan.zhou, judah.schvimer, should we schedule this ticket?

Comment by Siyuan Zhou [ 27/May/20 ]

Quorum check sends heartbeats to all nodes in the config, but it only waits for a majority of voting nodes to respond. The code is supposed to wait for all responses.

Comment by Judah Schvimer [ 27/May/20 ]

This showed up while trying to turn Initial Sync Semantics automatic reconfigs on for this test.

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