Details
-
New Feature
-
Resolution: Fixed
-
Major - P3
-
None
-
Fully Compatible
-
Sharding 2020-09-07
Description
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.
Attachments
Issue Links
- has to be done before
-
SERVER-49785 Write and test aggregation pipeline for collection bulk loader for resharding
-
- Closed
-