Move the work out of the storage engines and up to the storage system, to drive this functionality across all storage engines.
Periodically the following must happen:
- If journaling is on, flush the journal
- If not journaling, flush via RecoveryUnit::waitUntilDurable
- If waitUntilDurable fails, flushAllFiles
The two periods are journalCommitIntervalMs (30/100 default) and syncDelaySecs (60 default).
In addition, hook-in or replace, the current JournalListener functionality.
- duplicates
-
SERVER-45847 Pull the JournalFlusher out of the storage engine layer and place it above the storage engine
- Closed
- related to
-
SERVER-22534 Change ephemeral storage to update durable OpTime
- Closed
-
SERVER-22639 RocksDB storage engine needs to support JournalListener
- Closed