[SERVER-82596] Improve StorageInterfaceImpl::findOplogEntryLessThanOrEqualToTimestamp performance Created: 30/Oct/23  Updated: 05/Feb/24

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

Type: Task Priority: Major - P3
Reporter: Mark Benvenuto Assignee: Pavithra Vetriselvan
Resolution: Unresolved Votes: 0
Labels: perf-8.0, perf-tiger, perf-tiger-handoff, perf-tiger-poc, perf-tiger-q4, repl-shortlist
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-85465 Improve RecordStore seekNear API In Progress
Related
is related to SERVER-82099 WiredTigerRecordStore searchNear fail... Closed
Assigned Teams:
Replication
Sprint: 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-02-19
Participants:

 Description   

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



 Comments   
Comment by Matthew Russotto [ 06/Nov/23 ]

Note that seekNear on the oplog when the RU has a read timestamp is affected by SERVER-82099; we will need to work around or protect from that scenario if it is not fixed before this is done.

Generated at Thu Feb 08 06:49:44 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.