-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
1
Today, ClusterRole is defined by a bit mask that contains different combinations of its enumeration. This enum is composed of None, ShardServer, RouterServer and ConfigServer. But not all combinations for the clusterRole of a node are possible. After a lot of changes by the config shard and shards can act as routers, the values of the bit mask of each ClusterRole instance can be:
{ None } => Standalone / RS { ShardServer, RouterServer } => Shard { ShardServer, ConfigServer, RouterServer } => Config / Config-Shard { RouterServer } => MongoS
Goal
We need to remove the bit mask of the cluster role in order to move to a more restrictive API that only let the user check which is the role of the process in a simple manner. I propose to have different getters to know the specific role of the process (isShard, isConfig, isRouterOnly, ...).
References
Estimation
- User impact: Improvement.
- Raw Estimation (man-day): 5
- depends on
-
SERVER-85770 Enable internal routing capabilities by default
- Closed