-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Catalog and Routing
-
Fully Compatible
-
CAR Team 2024-03-18, CAR Team 2024-04-01
-
159
With the work done in order to enable having additional participants in multi-shard transactions we can end up in a situation where the following happens for a given session:
- Operation 1 (Op1) reads some documents from a local WT cursor via DocumentSourceCursor
- Op1 then performs a remote call and checks in the session + transaction resources to prevent a deadlock
- The node then receives an abort transaction command (Operation 2)
- Op2 checks out the session and we end up in a situation where both Op1 and Op2 have resources for the transaction
To avoid this we should make sure we do not hold any resources after reading the data. This way we can maintain the invariant that only one operation at a time has full ownership of the session and its resources.
- is depended on by
-
SERVER-84470 Allow $lookup to target an unsplittable collection on a primary shard within a multi-document transaction
- Closed
- related to
-
SERVER-87866 Investigate if saveState/restoreState can release all storage engine resources
- Backlog