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

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

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 5.2.0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      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

      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@mongodb.com Dan Larkin-York
            Reporter:
            gregory.wlodarek@mongodb.com Gregory Wlodarek
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: