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

MigrationSourceManager can hit an invariant if initial lock acquisition timed out

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 4.1.9
    • 4.1.7
    • Sharding
    • None
    • Fully Compatible
    • ALL
    • Hide

      1. Run fsyncLock on to be donor shard.
      2. Run moveChunk.
      3. Wait until what: "moveChunk.error" changelog shows up in the log. This indicates that the lock acquisition timed out.
      4. Run fsyncUnlock, this will allow the MSM::_cleanup to grab the collection lock, and then triggering the invariant.

      Show
      1. Run fsyncLock on to be donor shard. 2. Run moveChunk. 3. Wait until what: "moveChunk.error" changelog shows up in the log. This indicates that the lock acquisition timed out. 4. Run fsyncUnlock, this will allow the MSM::_cleanup to grab the collection lock, and then triggering the invariant.
    • Sharding 2019-02-25, Sharding 2019-03-11
    • 10

    Description

      MSM modifies the _state outside the collection lock and updates the decorator inside the lock. So, when _cleanup gets run it is possible to have _state != created and decorator to be nullptr.

      Attachments

        Activity

          People

            blake.oler@mongodb.com Blake Oler
            randolph@mongodb.com Randolph Tan
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: