-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
CAR Team 2026-05-11
-
🟥 DDL
-
None
-
None
-
None
-
None
-
None
-
None
Make all chunk operations leave the shard catalog metadata in non-authoritative state as long as their commit is non-authoritative. Today they don't touch authoritativeness, so when the CSR is in kAuthoritative the post-commit refresh becomes a no-op and the CSS stays stale, breaking the next chunk operation with StaleConfig.
Why
When the CSR is in kAuthoritative, onCollectionPlacementVersionMismatch routes to _onCollectionPlacementVersionMismatchAuthoritative which reads only the local shard catalog and never picks up the chunks the operation just committed at the config server. Split and merge currently rely on the non-authoritative refresh to keep the CSS in sync.
What
In the split and merge commit paths, drop the CSR's authoritative state before the post-commit refresh so it goes through the non-authoritative path and setFilteringMetadata_nonAuthoritative updates the CSS.
Out of scope
Making split/merge fully authoritative (writing through config.shard.catalog.chunks).
- fixes
-
SERVER-125556 Fix command _shardsvrFetchCollMetadata
-
- Open
-
- is depended on by
-
SERVER-121209 Make _configsrvSetAllowMigrations commit authoritatively
-
- In Progress
-
-
SERVER-124360 Enable CSS authoritative flag on shard-catalog-committing DDLs
-
- In Progress
-