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

Deadlock in ConfigServerTestFixture::setUpAndInitializeConfigDb

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.3.1
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • ALL
    • Execution Team 2019-11-18
    • 0

      Scenario:

      T1 = main test thread
      T2 = DistLockPinger thread

      T1 calls ConfigServerTestFixture::setUpAndInitializeConfigDb.
      T1 acquired rstl in mode IX, and acquired config db in mode X.
      T2 tries to get config db in IX, successfully acquired rstl in mode IX but is blocked for db since T1 has it in mode X.
      T1 tries to upgrade rstl to mode X, gets blocked since T2 has it in mode IX.

      To reproduce, simply add a sleep after acquiring db in mode X.

            Assignee:
            benety.goh@mongodb.com Benety Goh
            Reporter:
            randolph@mongodb.com Randolph Tan
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: