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

Fix the concurrency control of the LogicalTimeValidator

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 4.3.2
    • None
    • Sharding
    • None
    • Fully Compatible
    • ALL
    • v4.0, v3.6
    • Sharding 2019-01-28, Sharding 2019-02-11, Sharding 2019-11-04, Sharding 2019-11-18, Sharding 2019-12-02
    • 58

    Description

      The concurrency control of the LogicalTimeValidator with respect to the KeyManager is not fully correct. Specifically, the _mutexKeyManager seems to serve more the purpose of a barrier than a mutex. Most likely, because the KeyManager is self-synchronizing we don't need the _mutexKeyManager.

      As implemented currently, a deadlock can occur between LogicalTimeValidator::shutDown() and LogicalTimeValidator::_getKeyManagerCopy() if a periodic refresh occurs during shutdown.

      Attachments

        Activity

          People

            anton.oyung@mongodb.com Anton Oyung
            janna.golden@mongodb.com Janna Golden
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: