Race in SessionCatalogMigrationDestination can cause it to miss some ops

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 3.6.0-rc0
    • Affects Version/s: None
    • Component/s: Sharding
    • None
    • Fully Compatible
    • ALL
    • Sharding 2017-10-02
    • 0
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      scenario:

      1. Dest shard depleted session oplog buffer from source. Goes to ready to commit state.
      2. Dest shard calls _getNextSessionMods.
      3. Source shard returns empty result.
      4. Source shard receives a new write.
      5. Source shard sees that dest shard is ready to commit and enters critical section.
      6. Source shard sends commit command to dest shard.
      7. Dest shard receives empty result and sees that source shard tells it to commit.
      8. Dest shard finishes up, completely missing op for new write at step #4.

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

              Created:
              Updated:
              Resolved: