[SERVER-30480] Update aggregation explain format to provide details of merge location Created: 02/Aug/17 Updated: 30/Oct/23 Resolved: 21/Aug/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Aggregation Framework |
| Affects Version/s: | None |
| Fix Version/s: | 3.5.12 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Bernard Gorman | Assignee: | Bernard Gorman |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Sprint: | Query 2017-08-21, Query 2017-09-11 | ||||||||
| Participants: | |||||||||
| Description |
|
Currently, when a sharded pipeline is explained, we expose a boolean field needsPrimaryShardMerger to indicate whether the merge part of the pipeline must be run on the database's primary shard. Given that Some possible approaches include:
|
| Comments |
| Comment by Githook User [ 21/Aug/17 ] |
|
Author: {'username': 'gormanb', 'email': 'bernard.gorman@gmail.com', 'name': 'Bernard Gorman'}Message: |
| Comment by David Storch [ 15/Aug/17 ] |
|
bernard.gorman asya I'm on board with the suggestion of reporting only mergerType, which takes exactly one value from the set {"primaryShard", "anyShard", "mongos"}. |
| Comment by Bernard Gorman [ 09/Aug/17 ] |
|
Thanks asya! I'll wait to see what Dave thinks of this approach before opening a review. |
| Comment by Asya Kamsky [ 09/Aug/17 ] |
|
I like that: primaryShard, anyShard or mongos. I think that will leave it open to adding "designatedShard" or "allowedShard" when/if we add configuration options to allow restricting "any" shard to a subset of shards... |
| Comment by Bernard Gorman [ 09/Aug/17 ] |
asya: that's correct. At the moment, an explain following I think the clearest approach would be a single mergeType or mergeLocation field which reflects the values of the new HostTypeRequirement enum: |
| Comment by Asya Kamsky [ 08/Aug/17 ] |
|
The options are
I don't think we can ever know which mongod it will be if it's not the primary. So three values are possible (so far): primary mongod, any mongod, or mongos, correct? |