Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-85443

Inline `sharding_ddl_util::getCollectionUUID` in create coordinator

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 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

            Assignee:
            backlog-server-catalog-and-routing [DO NOT USE] Backlog - Catalog and Routing
            Reporter:
            pierlauro.sciarelli@mongodb.com Pierlauro Sciarelli
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: