Shut down JournalFlusher before closing CollectionCatalog

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 8.2.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Execution
    • Fully Compatible
    • ALL
    • Storage Execution 2025-04-28
    • 200
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      In shutdownGlobalStorageEngineCleanly() we call StorageControl::stopStorageControls() followed by storageEngine->cleanShutdown(). Journal flusher is shut down in stopStorageControls().  It used to be that the collection catalog isn't closed until in StorageEngineImpl::cleanShutdown(), but SERVER-98989 moved ColllectionCatalog shutdown to shutDownCollectionCatalogAndGlobalStorageEngineCleanly() which now closes the collection catalog first. Since the JournalFlusher isn't yet shut down, it may call the journalListener's onDurable callback which is used by replication which assumes the oplog record store is still valid.

              Assignee:
              Wei Hu
              Reporter:
              Wei Hu
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: