Investigate whether the RecordStore oplogDiskLocRegister() and waitForAllEarlierOplogWritesToBeVisible() functions can deadlock due to ticket exhaustion

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 5.2.0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • Execution Team 2021-09-06, Execution Team 2021-09-20, Execution Team 2021-10-04, Execution Team 2021-10-18, Execution Team 2021-11-01
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      This is follow-up work from SERVER-59074, where we skip ticket acquisition for StorageInterfaceImpl::waitForAllEarlierOplogWritesToBeVisible() and StorageInterfaceImpl::oplogDiskLocRegister() due to a deadlock from ticket exhaustion while updating oplog visibility.

      There are still other callers that call these functions directly from the RecordStore, circumventing the work in SERVER-59074. We should investigate whether it's feasible to add an assertion in these RecordStore functions that we are not holding a ticket.

              Assignee:
              Dan Larkin-York
              Reporter:
              Gregory Wlodarek
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated:
                Resolved: