[SERVER-40173] Create a formal storage interface for oplog collection Created: 15/Mar/19  Updated: 06/Dec/22

Status: Backlog
Project: Core Server
Component/s: Storage
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Dianna Hohensee (Inactive) Assignee: Backlog - Storage Execution Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by SERVER-52878 Separate oplog from regular collections Closed
Related
related to SERVER-40168 Pull the OplogTruncaterThread out of ... Closed
related to SERVER-52878 Separate oplog from regular collections Closed
Assigned Teams:
Storage Execution
Sprint: Execution Team 2019-07-01
Participants:

 Description   

There is a great deal of specialized 'if (oplog) do this' logic in the WiredTigerRecordStore class. The WiredTigerKVEngine class has less, but still a significant amount of special handling.

1. this makes it incredibly difficult to modify because we often do not document how a particularly part works, let alone how it all works together.
2. currently we are only supporting transactions and some other replication features on the WT storage engine. We should formalize the support thereof if we wish to extend the features to other storage engines in the future, like Biggie, or truly continue to support a pluggable storage engine layer.
3. We cannot unit test it as it is currently implemented.


Generated at Thu Feb 08 04:54:13 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.