The infrastructure for this is already in place: it's just a matter of parsing an 'allowPartialResults' option (similar to the find command) and passing it down to establishCursors(), which takes 'allowPartialResults' as a standalone boolean argument that the agg code currently always sets to false.
We should also first double-check that it makes sense to accept allowPartialResults for all aggregations ($facet? $lookup? $graphLookup?).
SERVER-28874 fixed the behavior of 'allowPartialResults' in establishCursors() and added thorough unit testing. It also added a jstest, jstests/sharding/allow_partial_results.js, which explicitly checks that aggregation does not accept the 'allowPartialResults' option, so this ticket should update that test.
- is related to
-
SERVER-28874 make stale shardVersion error override 'allowPartialResults' option in establishCursors()
- Closed
-
SERVER-73557 Add ability for mongos to broadcast the shards part of a pipeline to all primaries and secondaries in a cluster
- Closed
- related to
-
SERVER-3322 sharded aggregations should be very tolerant of node failures
- Backlog
-
SERVER-17696 Terminate sharded queries immediately after a failure
- Closed