-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Replication
-
Fully Compatible
-
Repl 2023-11-27, Repl 2023-12-11, Repl 2023-12-25, Repl 2024-01-08, Repl 2024-01-22, Repl 2024-02-05, Repl 2024-03-04
Going directly to the storage engine is cheaper then going through the query engine. It avoids the overhead of allocating/deallocating the QE stages and walking the associated extra code.
StorageInterfaceImpl::findOplogEntryLessThanOrEqualToTimestamp is called as part of writing replication changes. Changing it to use the storage engine api will reduce the instruction count
Note: I have not measured the perf of this change alone
POC: https://github.com/10gen/mongo/commit/479f20a028b9986700f317887ee22e6fe4451745
POC 2: https://github.com/10gen/mongo/commit/eeffe115d7f2d1f531ce20af117f74c089f41735#diff-a98bf09e99955852a714c74a1e40bcedf2eda3830222e45dfa7045578c4206d4
- depends on
-
SERVER-85465 RecordStore bounded seek API to replace seekNear
- Closed
- is related to
-
SERVER-82099 WiredTigerRecordStore searchNear fails on backwards searches with oplog read timestamp
- Closed
-
SERVER-86942 Optimize StorageInterfaceImpl::findOplogEntryLessThanOrEqualToTimestamp Signature for Improved Performance
- Closed