-
Type: New Feature
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Aggregation Framework
-
Fully Compatible
-
Sharding 2020-09-07
This allows the sender of the command to rely on NamespaceNotFound if the collection has been dropped, even if a collection with the same name was later re-created.
- Change AggregationRequest::_nss from a NamespaceString to a NamespaceStringOrUUID.
- Change the return type of AggregationRequest::parseNs() to NamespaceStringOrUUID and add a case for UUID similar to CommandHelpers::parseNsOrUUID().
- Change runAggregate() to get the NamespaceStringOrUUID. One approach would be to rename and change the return type of AggregateRequest::getNamespaceString().
It should be fine for the AutoGetCollectionForRead in DocumentSourceCursor::loadBatch() to continue to using a NamespaceString rather than a UUID because the PlanExecutor is guaranteed to be killed (and for the aggregation pipeline to eventually error) if the collection is dropped while the cursor is being iterated.
- has to be done before
-
SERVER-49785 Write and test aggregation pipeline for collection bulk loader for resharding
- Closed