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

Uninterruptible lock guard in election causes FCBIS to hang

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 6.0.3, 6.2.0-rc0
    • None
    • Replication
    • None
    • Fully Compatible
    • ALL
    • v6.1, v6.0
    • Repl 2022-10-03, Repl 2022-10-17

    Description

      In order to avoid interrupting ourselves due to our own stepdown, we use uninterruptible locks when writing lastVote in an election. Unfortunately if we've taken the global lock in X mode for FCBIS storage change, this leads to a deadlock – we're trying to acquire a write lock on an uninterruptible opCtx while also attempting to kill the opCtx so we can change storage and release the lock.

      The quick fix might be to not acquire the uninterruptible lock guard during STARTUP2, but we should definitely add a test for this; since initial sync nodes are usually non-voting we don't have coverage for an election during it.

      Attachments

        Activity

          People

            matthew.russotto@mongodb.com Matthew Russotto
            matthew.russotto@mongodb.com Matthew Russotto
            Votes:
            0 Vote for this issue
            Watchers:
            11 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: