Don't invariant in PrimaryOnlyService::lookupInstance during a lock-free read

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Won't Fix
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Sharding
    • ALL
    • Sharding NYC 2022-04-18
    • 135
    • 1
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      PrimaryOnlyService::lookupInstance() invariants a list of various conditions in order to prevent a possible deadlock during the case described in SERVER-51650. This invariant currently fails if lookupInstance() is called during a lock-free read which holds the global lock in mode IS as seen in BF-24817. Since a lock-free read doesn't hold any locks which would prevent a step down, they should be excepted from the invariant.

            Assignee:
            Brett Nawrocki
            Reporter:
            Brett Nawrocki
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: