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

Sharding DDL coordinator can lock itself out in distlock retry loop

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 6.0.1, 5.0.11, 6.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      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

      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.

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

              Created:
              Updated:
              Resolved: