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

Race between submitting rangeDeletion task can make moveChunk fail to honor waitForDelete

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 4.3.4
    • None
    • Sharding
    • None
    • Fully Compatible
    • ALL
    • Sharding 2020-02-10
    • 34

    Description

      Sequence:

      1. Migration finishes committing.
      2. Migration updates rangeDeleter doc to remove pending flag.
      3. OpObserver captures update and calls submitRangeDeletionTask, which sends a task to the arbitraryExecutor.
      4. Migration main thread calls CSR::waitForClean
      5. MetadataManager::trackOrphanedDataCleanup returns nothing since the range delete task has not yet been queued. Migration thread treats this as deletion being completed.
      6. Migration main thread returns.
      7. Actual range deletion task submitted in step#3 gets executed and queues orphan deletion.

      Attachments

        Activity

          People

            jack.mulrow@mongodb.com Jack Mulrow
            randolph@mongodb.com Randolph Tan
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: