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

Fix cancellation races in initial syncer

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.4.2
    • Affects Version/s: None
    • Component/s: Replication
    • Fully Compatible
    • ALL
    • v5.0, v4.4
    • Repl 2020-09-07, Repl 2020-09-21
    • 10

      Cancelling an initial sync attempt may be missed if the code has run a callback but the callback has not yet acquired the initial syncer mutex. Since the callback is already running it won't be canceled, and the code has no way to know not to schedule the next callback.

      This may be a matter of having _checkForShutdownAndConvertStatus_inlock check an overall status, though caution must be taken when a lock may be temporarily released in a callback, and also at least one call of _checkForShutdownAndConvertStatus_inlock occurs (despite the name) outside the lock.

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

              Created:
              Updated:
              Resolved: