-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
CAR Team 2026-04-13, CAR Team 2026-04-27
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Replace fetchCollectionUUIDFromPrimary with a new getCollectionInfoFromPrimary method across all MongoProcessInterface implementations. The new method returns a full ListCollectionsReplyItem instead of just a UUID, enabling richer collection metadata retrieval in a single round trip. It also supports lookup by NamespaceStringOrUUID (not just by namespace).
Key changes:
- Add getCollectionInfoFromPrimary to MongoProcessInterface, CommonMongodProcessInterface, ReplicaSetNodeProcessInterface, ShardServerProcessInterface, and stub/mongos interfaces.
- Refactor OutStage to use the new method: extract retrieveTemporaryCollectionUUID() and checkTemporaryCollectionUUIDNotChanged() for clearer UUID tracking and validation during $out.
- The UUID-based lookup enables detecting renames (not just drops) of the temporary collection, with a specific error for timeseries FCV transitions.
- Remove the TODO SERVER-111600 conditional around UUID fetching (now always fetched after create).
- Extend ListCollectionsOpts to support an additional filter field.
This is needed for SERVER-112816 in which we will make $out resilient to concurrent timeseries upgrade/downgrade.
- is depended on by
-
SERVER-112816 Support $out concurrent with viewless timeseries upgrade/downgrade
-
- In Code Review
-
- is related to
-
SERVER-111600 Clean up legacy timeseries code in $out
-
- Backlog
-