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

      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: