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

Fix cancellation races in initial syncer

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 4.4.2
    • None
    • Replication
    • Fully Compatible
    • ALL
    • v5.0, v4.4
    • Repl 2020-09-07, Repl 2020-09-21
    • 10

    Description

      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.

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: