-
Type:
Investigation
-
Resolution: Done
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Not Needed
Planning to make changes to currentOp and serverStatus output. Design in progress.
Description of Linked Ticket
Summary
Implement multi-collection locking and improve yielding support for SBE query engine (PM-2267).
Motivation
There is currently no support for safely and simultaneously locking multiple collections for a user read operation. The query SBE engine will need to do so for $lookup, and will also need support to safely yield and reacquire these locks across query yields.
Cursor improvements to remain valid across query yield can also greatly simplify the query yield logic as well as make it more efficient. Dangling cursor pointers across a query yield are currently a danger if all the cursors are not found. It is also inefficient for each query yield to copy the cursor’s current key-value pair because the cursor becomes invalid to access during yield. These problems similarly apply to cursors across getMore commands, which very much behave like query yields.
This project aligns with the query SBE engine’s initiative.
Cast of Characters
- Product Owner: michael.gargiulo
- Project Lead: dianna.hohensee
- Program Manager: connie.chen
- Drivers Contact: