Make addShard always install an empty CSS on all nodes

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: 9.0.0-rc0
    • Component/s: None
    • Catalog and Routing
    • 2
    • 🟦 Shard Catalog
    • None
    • None
    • None
    • None
    • None
    • None

      removeShard now clears CSS on all nodes (invalidate-all oplog entries). Under 8.0 FCV that cleanup did not exist, so dedicated ↔ embedded transitions (and stalled legacy refreshes) can leave stale UNTRACKED / UNOWNED / zero-chunk CSS. Clearing those leftovers in a backwards-compatible way on 8.0 is hard because nodes diverge and we cannot use the primary's nss set.

      We currently paper over that on FCV upgrade in fixPotentiallyStaleShardingStatesAfterUpgrade by clearing no-chunks CSS (see SERVER-131968).

      Instead, we should evaluate if it's better to make addShard always join with an empty CSS map on every replica-set node under both 8.0 and 9.0 FCV. That mirrors removeShard and lets us remove the FCV OpObserver no-chunks clear.

            Assignee:
            Unassigned
            Reporter:
            Pol Pinol
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: