Split DocumentSourceMergeCursors stage into QO and QE components according to the conventions documented in SPM-4106 project design.
Additionally, we should ensure proper resource handling, because both QO and QE part can 'own' cursors to the remote shards. Since SERVER-105777, the 'dispose()' mechanism will only apply to the QE part, so QO part should automatically dispose owned resources if no QE part was created.
Has to be done on top of SERVER-105777
- depends on
-
SERVER-105683 Check if stage stitching is needed by both QO and QE or only by QE
-
- Closed
-
- is depended on by
-
SERVER-106560 Destroy QO Pipeline when QE Pipeline is created in RouterStagePipeline
-
- Needs Scheduling
-
-
SERVER-105613 Split DocumentSourceChangeStream stages into QO and QE components
-
- Needs Scheduling
-
-
SERVER-107775 Consider opening connections to shards only when merge pipeline is executed
-
- Needs Scheduling
-
- is related to
-
SERVER-105777 Move Pipeline::dispose() to exec::agg::Pipeline class
-
- Closed
-