Add/Remove shard hook should avoid sending collection level CMC against temporary resharding collections

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Catalog and Routing
    • ALL
    • 1
    • 🟩 Routing and Topology
    • None
    • None
    • None
    • None
    • None
    • None

      The add/remove shard hook contains logic to use CMC to check for index inconsistencies and perform resharding if inconsistencies exist. This is to handle the case in which indexes become inconsistent due to the lack of a create/drop index coordinator which block shard draining.

      However, this logic doesn't exclude temporary resharding collections meaning that the hook can sometimes run CMC against a temporary resharding collection. Collection level CMC doesn't serialize with resharding when run against the temporary resharding collection because the DDL lock is taken on the temporary resharding namespace, which is not taken by reshardCollection thus potentially causing us to see spurious inconsistencies.

      Given that the goal here is to reshard the collection, it doesn't make sense to check these collections anyways, so we should exclude them from the hook.

            Assignee:
            Unassigned
            Reporter:
            Allison Easton
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: