-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
Replication 2022-02-07, Repl 2022-02-21
Currently the collectionUUID option for the aggregate command is disallowed on mongos.
Context change:
In the case of sharded collection, documents can be spanned to multiple shards, so the aggregation request can be directed to any subset of the shards, and if the targeted subset doesn't include the primaryShard of the database that may result in not finding the collection corresponding to the given collectionUUID.
To solve this problem we came up with two solutions:
1- Send dummy request to the primaryShard if the targeted shard subset doesn't include it and we didn't find the collection corresponding to the given collectionUUID.
2- Only allow collectionUUID parameter for commands that it must hit the primaryShard.
We have decided to go with the second solution for sharded aggregation command, so we are going to allow the collectionUUID parameter for only $indexStats and $collStats aggregation pipelines as replicator only needs these two pipelines.
- is depended on by
-
TOOLS-3067 Investigate changes in SERVER-62563: Support sharding for collectionUUID parameter of aggregate command
- Closed
-
TOOLS-3087 Investigate changes in SERVER-62563: Support sharding for collectionUUID parameter of aggregate command
- Closed
- is related to
-
SERVER-64872 Aggregate with collectionUUID on sharded cluster can incorrectly omit the actual collection
- Closed