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

Race in SessionCatalogMigrationDestination can cause it to miss some ops

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 3.6.0-rc0
    • None
    • Sharding
    • None
    • Fully Compatible
    • ALL
    • Sharding 2017-10-02
    • 0

    Description

      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.

      Attachments

        Activity

          People

            randolph@mongodb.com Randolph Tan
            randolph@mongodb.com Randolph Tan
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: