-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Sharding
-
Labels:None
-
Catalog and Routing
-
1
The sharding_ddl_util namespace is publicly offering a getCollectionUUID function that is simply performing a looking in the local catalog. This is misleading because the lookup is local despite the function being in the sharding DDL utils.
At the time of writing there are several usages of that helper in the create collection coordinator and only one usage in the collmod coordinator:
$ git grep 'sharding_ddl_util::getCollectionUUID' src/mongo/db/s/collmod_coordinator.cpp: sharding_ddl_util::getCollectionUUID(opCtx, _collInfo->nsForTargeting); src/mongo/db/s/create_collection_coordinator.cpp: return *sharding_ddl_util::getCollectionUUID(opCtx, nss); src/mongo/db/s/create_collection_coordinator.cpp: auto uuid = sharding_ddl_util::getCollectionUUID(opCtx, nss()); src/mongo/db/s/create_collection_coordinator.cpp: auto uuid = sharding_ddl_util::getCollectionUUID(opCtx, nss()); src/mongo/db/s/create_collection_coordinator.cpp: _uuid = sharding_ddl_util::getCollectionUUID(opCtx, nss()); src/mongo/db/s/create_collection_coordinator.cpp: _uuid = sharding_ddl_util::getCollectionUUID(opCtx, nss()); src/mongo/db/s/create_collection_coordinator.cpp: _uuid = sharding_ddl_util::getCollectionUUID(opCtx, nss()); src/mongo/db/s/create_collection_coordinator.cpp: _uuid = sharding_ddl_util::getCollectionUUID(opCtx, nss());
Purpose of this ticket is to:
- Move the function in an anonymous namespace in the create coordinator (and it would be more correct to rename it to something like getLocalCollectionUUID)
- Replace the only usage in the collmod coordinator with an inline catalog lookup