KVDropPendingIdentReaper has a lock-order inversion

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.1.0-rc0, 9.1.0-rc1022
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Execution
    • Fully Compatible
    • ALL
    • Storage Execution 2026-09-14
    • 200
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      dropIdentsOlderThan() acquires _dropMutex and then a GlobalLock, while every caller to immediatelyCompletePendingDrop() acquires them in the opposite order. This typically works because GlobalLock(MODE_IX) permits multiple writers at a time and we normally can't have enough callers to immediatelyCompletePendingDrop() to exhaust all write tickets, but we've observed it happen.

            Assignee:
            Thomas Goyne
            Reporter:
            Thomas Goyne
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: