-
Type:
Improvement
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Storage Execution
-
Fully Compatible
-
Storage Execution 2025-04-14, Storage Execution 2025-04-28, Storage Execution 2025-05-12
-
None
-
3
-
None
-
None
-
None
-
None
-
None
-
None
Extract the general purpose logic that's not specific to WiredTiger to higher layers to remove the dependency on replication.
Copied from this PR: we need to move OplogTruncateMarkers to the repl directory. Then we remove the RecordStore dependency on TruncateMarkers entirely. As far as I can tell, the only functionality that the RecordStore depends on is:
- To check if we're updating a document on the oplog. This seems like a completely unnecessary dependency and could be replaced with a startup option instead.
- Updating the size after a capped truncate. This also seems like the caller could just do this work after calling the function.
- Updating markers on commit. This could be accomplished with an onCommit handler
- Clearing the markers on truncate. Just have the caller do this.
- Killing the background thread. This should just be done explicitly on shutdown.
- is depended on by
-
SERVER-104856 Move oplog truncation/sampling/reclaiming code to replication
-
- Backlog
-
- related to
-
SERVER-104962 insertDocsToOplogAndChangeCollections should not call OpObserver onInserts functions just to not break tests
-
- Needs Scheduling
-