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

Fix deadlock in _shardsvrCompactStructuredEncryptionDataCommand

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.1.0-rc0, 7.3.4, 8.0.0-rc14
    • Affects Version/s: None
    • Component/s: None
    • None
    • Server Security
    • Fully Compatible
    • ALL
    • v8.0, v7.3, v7.0
    • Security 2024-07-22
    • 200

      The order of locking the ECOC namespace and the temporary ECOC namespace in _shardsvrCompactStructuredEncryptionDataCommand::Invocation::makeRequest() should be swapped so that the temporary ECOC namespace IX lock is acquired before the ECOC namespace IX lock.

      This is to prevent a deadlock with another thread that is doing the actual renaming of the ECOC to the ECOC temporary namespace, which first acquires an X lock on the target namespace (ECOC temporary) before the source namespace (ECOC).

            Assignee:
            erwin.pe@mongodb.com Erwin Pe
            Reporter:
            erwin.pe@mongodb.com Erwin Pe
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: