The seekNear API has bizarre semantics that requires the implementation to moving the cursor back and forth to return the correct key. If seekNear returns a previous key, then the caller has to call next() to advance.
Replace this API or create another with lower_bound and upper_bound semantics to speed up seeks on both the oplog and clustered collections. Consider using bounded cursors here.
As a specific goal, this would mean clustered collections scans only need to make one API call into the cursor when seeking. See this comment.
- is depended on by
-
SERVER-82596 Improve StorageInterfaceImpl::findOplogEntryLessThanOrEqualToTimestamp performance
- Closed
-
SERVER-86216 Replace seekNear for oplog rollover checking
- Closed
-
SERVER-86519 Use new RecordStore seek API for non-oplog collection scans
- Closed
- is related to
-
SERVER-62988 Investigate avoiding an extra document fetch on bounded collection scans
- Backlog
-
SERVER-86604 Create a benchmark for SeekableRecordCursor
- Closed