After SERVER-45847 and SERVER-46869, we should be able to do this. The interface for WiredTigerRecordStore::OplogStones is already segregated into wiredtiger_record_store_oplog_stones.h.
WiredTigerRecordStore::OplogStones holds a private WiredTigerRecordStore* for the oplog collection, but I think this should be able to be refactored out, switching it with accessing the record store via the oplog collection object, the usual way logic above the storage engine does.
Extricating the _oplogStones object from the rest of the WiredTigerRecordStore, with special behavior in nooks and crannies, will be the tricky and uncertain part for this task.
- causes
-
SERVER-75107 Deadlock with oplog application and opening a backup cursor on a secondary
- Closed
-
SERVER-74250 Rename slowOplogSamplingReads to slowCollectionSamplingReads
- Closed
- depends on
-
SERVER-45847 Pull the JournalFlusher out of the storage engine layer and place it above the storage engine
- Closed
-
SERVER-46869 Make the OplogCapMaintainerThread interruptible and handle its life cycle
- Closed
- is depended on by
-
SERVER-74098 Create CollectionTruncateMarkers implementation for change collections
- Closed
-
SERVER-74099 Create CollectionTruncateMarkers implementation for pre-image collection
- Closed
-
SERVER-74201 Rename OplogStones to OplogMarkers
- Closed