Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-45423

Use isRetriableError instead of isNetworkError for transient errors in initial sync

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 4.3.3
    • None
    • Replication
    • None
    • Fully Compatible
    • ALL
    • Repl 2020-01-13, Repl 2020-01-27

    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.

      Attachments

        Activity

          People

            matthew.russotto@mongodb.com Matthew Russotto
            matthew.russotto@mongodb.com Matthew Russotto
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: