[SERVER-69093] Use range bounded cursors for restoring cursors in the record store after yielding Created: 23/Aug/22  Updated: 29/Oct/23  Resolved: 22/Jun/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.1.0-rc0

Type: Improvement Priority: Major - P3
Reporter: Shin Yee Tan Assignee: Erin Liang
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by SERVER-71155 Utilize the bounded cursor API for re... Closed
Problem/Incident
Related
related to SERVER-68380 Investigate MongoDB code that can use... Closed
Assigned Teams:
Storage Execution
Backwards Compatibility: Fully Compatible
Sprint: Execution NAMR Team 2023-06-26
Participants:
Linked BF Score: 35

 Description   

Every query (reads and writes) saves and restores cursors to support yielding. When restoring the cursor, we reposition it by calling search_near() on the _lastReturnedId which we stored when we called next() prior to yielding the cursor.

We can use bounded cursors to improve the performance when repositioning the cursor in the WT record store. This could be useful for example for capped collections when we're making a lot of deletes and the cursor unnecessarily traverses the deleted records to reposition itself.



 Comments   
Comment by Githook User [ 22/Jun/23 ]

Author:

{'name': 'Erin Liang', 'email': '59406045+erl-ang@users.noreply.github.com', 'username': 'erl-ang'}

Message: SERVER-69093 Use range bounded cursors for restoring cursors in the record store after yielding
Branch: master
https://github.com/mongodb/mongo/commit/a2e3317f15df1acd524559ffea7b178e2f40490b

Comment by Louis Williams [ 08/Nov/22 ]

luke.pearson@mongodb.com that would be SERVER-68380.

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