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

Support resharding collections where the local catalogs and the sharding catalog do not agree on the collection's UUID

    • Type: Icon: New Feature New Feature
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.1.0-rc0
    • Affects Version/s: None
    • Component/s: Sharding
    • Cluster Scalability
    • Fully Compatible
    • Cluster Scalability 2024-09-02

      The ReshardingCollectionCloner includes the collectionUUID parameter to the aggregate command it runs. The CommonReshardingMetadata::getSourceUUID() value comes from the sharding catalog's belief of the source collection's UUID. We have seen a small number of instances—perhaps due to historical DDL bugs or direct writes against shards—where sharded collections do not have consistent collection UUIDs among each shard which owns data for the sharded collection, nor do any of the shards have a collection UUID consistent with the config.collections entry for the sharded collection in the sharding metadata. A collection's UUID cannot be modified directly. The discussed remediation would be to rewrite the contents of the sharded collection and resharding would do exactly that. To support this remediation method, resharding must offer a relaxed mode where it won't specify the collectionUUID parameter in its collection cloning aggregation to avoid triggering a NamespaceNotFound or CollectionUUIDMismatch error in a scenario where the collection UUIDs are inconsistent among shards.

            Assignee:
            daisy.kucharski@mongodb.com Daisy Kucharski
            Reporter:
            max.hirschhorn@mongodb.com Max Hirschhorn
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: