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.
- is duplicated by
-
SERVER-52878 Separate oplog from regular collections
- Closed
- is related to
-
SERVER-96628 Remove CollectionImpl::SharedState::_isCapped
- Closed
- related to
-
SERVER-40168 Pull the OplogTruncaterThread out of WiredTigerKVEngine and put it above the storage layer
- Closed
-
SERVER-52878 Separate oplog from regular collections
- Closed