-
Type: Task
-
Resolution: Won't Fix
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Aggregation Framework, Sharding
-
None
-
Query
Consider a sharded $out aggregation whose input documents come from, say, shard0 and shard1, but sends it output to a different sharded collection whose chunks reside on shard2, shard3 and shard4. Currently, only shard0 and shard1 are eligible for selection as the merging shards. Instead, we will plumb through information during the cluster aggregation planning process such that the planner knows to select one of {shard2, shard3, shard4} as the merging shard, in the hopes that it makes more of those writes local.
However, it's out of scope for this ticket to take chunk migrations into account. For example, if a chunk migrates from shard4 to shard2 in the middle of aggregation such that shard4 no longer owns chunks for the output collection, we will still continue with an aggregation plan that chose to merge on shard4.
- depends on
-
SERVER-35904 Implement logic to detect if merging half of pipeline conserves but possibly renames the shard key
- Closed