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

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 4.3.4
    • Affects Version/s: None
    • Component/s: Sharding
    • None
    • Fully Compatible
    • ALL
    • Sharding 2020-02-10
    • 34
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      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.

            Assignee:
            Jack Mulrow
            Reporter:
            Randolph Tan
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: