-
Type: Investigation
-
Resolution: Done
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Not Needed
Downstream Change Summary
This ticket changes explain output for queries against sharded collections, adding the $mergeCursors stage to the front of the mergerPart of the split pipeline.
Description of Linked Ticket
At some point before 4.2 we stopped including the merge sort in the explain output - I believe because the merge sort started happening within the $mergeCursors, which is not created nor displayed in explain output.
We should somehow enhance the explain output to include the merge sort so that users don't mistakenly conclude that the merged output is not sorted.
4.0:
splitPipeline: { shardsPart: [ { '$match': { mykey: { '$in': [ 0, 1, 3, 7 ] } } }, { '$sort': { sortKey: { favColour: 1 }, limit: 5 } } ], mergerPart: [ { '$sort': { sortKey: { favColour: 1 }, mergePresorted: true, limit: 5 } } ] }
4.2/4.4:
splitPipeline: { shardsPart: [ { '$match': { mykey: { '$in': [ 0, 1, 3, 7 ] } } }, { '$sort': { sortKey: { favColour: 1 }, limit: 5 } } ], mergerPart: [ { '$limit': 5 } ] }
- depends on
-
SERVER-57383 Include merge sort in sharded aggregation explain output
- Closed