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

Sharding DDL coordinator can lock itself out in distlock retry loop

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • None
    • 6.0.1, 5.0.11, 6.1.0-rc0
    • None
    • None
    • Fully Compatible
    • ALL
    • v6.0, v5.3, v5.0
    • Hide

      Insert this snippet similar to the one below here

                     if (_failOnce && _recoveredFromDisk) {
                          _failOnce = false;
                          LOGV2(0, "REN: recovered from disk failing once");
                          uasserted(777777777, "intentional fail");
                     }
      

      and run resharding_disallow_drop.js

      Show
      Insert this snippet similar to the one below here if (_failOnce && _recoveredFromDisk) { _failOnce = false; LOGV2(0, "REN: recovered from disk failing once"); uasserted(777777777, "intentional fail"); } and run resharding_disallow_drop.js
    • Sharding EMEA 2022-07-25
    • 149

    Description

      When the DDL coordinator acquires the local distlock, it stores it immediately to the member variable. However, if the acquisition of the non-local lock ends up asserting, it will keep the lock and try again. But when it retries, it won't be able to re-acquire the local dist lock because it is already taken earlier.

      Attachments

        Issue Links

          Activity

            People

              tommaso.tocci@mongodb.com Tommaso Tocci
              randolph@mongodb.com Randolph Tan
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: