-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
Fully Compatible
-
CAR Team 2025-02-03, CAR Team 2025-02-17
This phase include the following steps:
- validate host as a shard
- this step is the same as ShardingCatalogManager::_validateHostAsShard but without returning a ShardType
- block the user writes
- this is needed in case of the given shard is not the first shard (to support the RS -> sharded cluster transition)
- this is needed in order to stabilize the RS before checking the existing data on it
- check existing data on RS
- if we prohibit non-empty RSs (guarded by a feature flag) check if no DB presents
- otherwise check for clashing DB names
The changes include the followings:
- changes in the coordinator
- changes in ShardingCatalogManager in order to enable clean changes in the coordinator
- unify global functions used in the coordinator to use asserts instead of Status