Fix the concurrency control of the LogicalTimeValidator

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 4.3.2
    • Affects Version/s: None
    • Component/s: 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
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      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.

            Assignee:
            Anton Oyung (Inactive)
            Reporter:
            Janna Golden (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: