-
Type:
Improvement
-
Resolution: Won't Do
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
CAR Team 2025-07-21
-
🟥 DDL
-
None
-
None
-
None
-
None
-
None
-
None
The NamespacePlacementChanged control event type informs change stream readers about the recent or upcoming completion of a DDL that causes a change in the data distribution of a sharded namespace across the cluster. As per today, it includes a committedAt field which relates to timestamps/chunk versions that the DDL sets in the global catalog as part of its commit.
Change stream readers may leverage this information to observe the config.placementHistory doc that the committing DDL logged at commitTime; nevertheless, such a document only becomes visible through majority/snapshot reads at a slightly later time (that is, once the write to the config server is over), which the DDL is also able to track and report through NamespacePlacementChanged.
To better reflect the causality between events, committedAt could be replaced with a new availableSince expressing the PIT at which the effects of the placement changes are ensured to be present in the config server.