[SERVER-78613] Extend roles that a cluster node can act with router Created: 03/Jul/23  Updated: 29/Oct/23  Resolved: 06/Jul/23

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: 7.1.0-rc0

Type: Task Priority: Major - P3
Reporter: Antonio Fuschetto Assignee: Antonio Fuschetto
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-78666 Get rid of is_mongos module in favor ... Closed
Assigned Teams:
Sharding EMEA
Backwards Compatibility: Fully Compatible
Sprint: Sharding EMEA 2023-07-10
Participants:

 Description   

When a MongoD process is part of a cluster, it can act (inclusively) as shard, config and now also as a router.

The actual process role is stored in the clusterRole global parameter, which can only assume the none, shard and config roles.

The goal of this ticket is to include the router role to the ClusterRole class and allow the non-exclusivity of roles. In this way the clusterRole global parameter can model MongoD processes configured to act as shard only, shard + router or router only.



 Comments   
Comment by Githook User [ 06/Jul/23 ]

Author:

{'name': 'Antonio Fuschetto', 'email': 'antonio.fuschetto@mongodb.com', 'username': 'afuschetto'}

Message: SERVER-78613 Extend roles that a cluster node can act with router
Branch: master
https://github.com/mongodb/mongo/commit/2618bba8af03fe8370abe2f87db1cb25550fb2ec

Comment by Antonio Fuschetto [ 03/Jul/23 ]

Starting from MongoD binary version 7.2, the following arguments govern the clusterRole global parameter of the process:

  • --shardsvr causes the cluster role to be set to ClusterRole::ShardServer.
  • --configsvr causes the cluster role to be set to both ClusterRole::ConfigServer and ClusterRole::ShardServer.
    • Starting from version 7.1, when a node is set to ConfigServer it also play as a ShardServer. In other words, --configsvr also implies --shardsvr.
  • --router causes the cluster role to be set to ClusterRole::RouterServer.
  • --shardsvr --router causes the cluster role to be set to ClusterRole::ShardServer and ClusterRole::RouterServer.
  • --configsvr --router causes the cluster role to be set to ClusterRole::ConfigServer, ClusterRole::ShardServer and ClusterRole::RouterServer.
Generated at Thu Feb 08 06:38:48 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.