[SERVER-45616] Initial syncer should only connect to nodes in primary or secondary state Created: 16/Jan/20  Updated: 29/Oct/23  Resolved: 22/Jan/20

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

Type: Bug Priority: Major - P3
Reporter: Matthew Russotto Assignee: Matthew Russotto
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Gantt Dependency
has to be done before SERVER-45423 Use isRetriableError instead of isNet... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Repl 2020-01-27
Participants:

 Description   

Since due to SERVER-45610, we can successfully execute some reads of nodes in REMOVED, ROLLBACK, and RECOVERING states, to get a consistent initial sync we must ensure we never connect to such nodes in the first place.

This ticket also ensures we do correct backoff when re-connecting (whether due to a node in the wrong state, or other reasons). And as a side effect it eliminates the ambiguity of the NotMasterOrSecondary error (which may be permanent due to a removed node, or temporary due to a restart); since we will never connect to a node a state other than PRIMARY or SECONDARY, we will never see that error.

The testing for this is in SERVER-42705 and SERVER-45423.



 Comments   
Comment by Githook User [ 22/Jan/20 ]

Author:

{'email': 'matthew.russotto@mongodb.com', 'username': 'mtrussotto', 'name': 'Matthew Russotto'}

Message: SERVER-45616 Initial syncer should only connect to nodes in primary or secondary state
Branch: master
https://github.com/mongodb/mongo/commit/5c6980b08a288fbd178c918ecae5efca8717ff3c

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