-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Execution
-
Execution Team 2022-09-05, Execution Team 2022-09-19
-
None
-
None
-
None
-
None
-
None
-
None
-
None
SERVER-60742 implemented support for agg/getMore, but disabled it in the case of $exchange. The issue is that a PlanExecutor can have nested PlanExecutors in their plan trees, and in the case of $exchange the nested PlanExecutor can be shared across multiple ClientCursors – a mutex protects against concurrent access. So we will need to associate RecoveryUnits with PlanExecutors rather than ClientCursors, and have a mechanism by which we load the appropriate RU onto the opCtx for the duration of the use of an associated PlanExecutor.
- depends on
-
SERVER-68575 Investigate how to store storage state with aggregation pipelines that can be shared across ClientCursors (e.g. $exchange)
-
- Closed
-
- is duplicated by
-
SERVER-62574 Change exchange aggregation queries command to not relinquish cursors across getMores
-
- Closed
-
- related to
-
SERVER-60742 Retain valid and positioned cursors across getMores for the aggregation command
-
- Open
-