Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-84270

Get rid of all Grid::*initialized* methods

    • Catalog and Routing
    • CAR Team 2024-01-08, CAR Team 2024-01-22, CAR Team 2024-02-05, CAR Team 2024-02-19, CAR Team 2024-03-04
    • 3

      Currently, the logic around the state of a cluster node, its recovery and initialisation is scattered across a multitude of components:

      • ShardingState
      • Grid's initialisation-related methods
      • ReplicaSetEndpointShardingState

      This is difficult to maintain and doesn't offer a clear contract around the transition of a node and what services are available at what time.

      Because of this we should consolidate all methods related to the initialisation of the sharding subsystem and its services to be under ShardingState - because this is the one source of truth that's also driven by addShard.

      This ticket is about getting rid of all the Grid::initialized and substituting them with the presence of ClusterRole::Router on the sharding state, which should always be present, regardless of whether the port is opened or not.

            Assignee:
            Unassigned Unassigned
            Reporter:
            kaloian.manassiev@mongodb.com Kaloian Manassiev
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: