[SERVER-45423] Use isRetriableError instead of isNetworkError for transient errors in initial sync Created: 08/Jan/20  Updated: 29/Oct/23  Resolved: 23/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 after SERVER-45616 Initial syncer should only connect to... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Repl 2020-01-13, Repl 2020-01-27
Participants:

 Description   

During initial sync, we may receive some error codes which are not network errors but should not cause an initial sync to fail permanently. Specifically, ShutdownInProgress (the sync source may restart normally), PrimarySteppedDown, ExceededTimeLimit, InterruptedAtShutdown, InterruptedDueToReplStateChange, and NotMasterOrSecondary. These (plus NotMasterNoSlaveOK and NotMaster, which we should not receive) are covered under the isRetriableError label.

The catch is that NotMasterOrSecondary may be a permanent error. It indicates a sync source in startup, recovery, rollback, or removed. If it is REMOVED, the error is permanent and we should not retry.



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

Author:

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

Message: SERVER-45423 Use isRetriableError instead of isNetworkError for transient errors in initial sync
Branch: master
https://github.com/mongodb/mongo/commit/c9b6ffbc8de0d865ebd1e9a196cee3516efa12e7

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