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

Make StorageEngine::waitForJournalFlush interruptible

    • Type: Icon: Task Task
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Storage
    • None
    • Storage Execution

      This function will be added in SERVER-45665.

      We wanted to make it interruptible, but the waitForMajorityService doesn't expect waitForWriteConcern (which will call waitForJournalFlush) to throw. This is not technically correct, because waitForWriteConcern returns a Status and today calls waitUntilDurable, which can in fact throw an error.

      The desire is to make writeConcern's j:true code interruptible, like writeConcern's w code.

      We could also explore moving more of the waitUntilDurable callers onto waitForJournalFlush, to make them interruptible (otherwise waitUntilDurable is uninterruptible while calling into WT). However, only callers of waitUntilDurable that call with the same function parameter settings as the JournalFlusher. We could explore moving the special function parameter controllable functionality out of waitUntilDurable into a higher level, too..

            Assignee:
            backlog-server-execution [DO NOT USE] Backlog - Storage Execution Team
            Reporter:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: