Definition
Shows the status of the transition from an embedded config server to a dedicated config server.
The command returns ok: 0 with an error if the transition fails, otherwise
it returns ok: 1.
To start transitioning to a dedicated config server, see the
startTransitionToDedicatedConfigServer command.
New in version 8.3.
Compatibility
This command is available in deployments hosted in the following environments:
MongoDB Enterprise: The subscription-based, self-managed version of MongoDB
MongoDB Community: The source-available, free-to-use, and self-managed version of MongoDB
Note
This command is not supported in MongoDB Atlas. See Modify your Atlas Sharded Cluster to add or remove shards from your Atlas cluster.
Syntax
The command has the following syntax:
db.adminCommand( { getTransitionToDedicatedConfigServerStatus: 1 } )
Output Fields
This command returns the following output:
Field | Type | Description |
|---|---|---|
| string | Provides the current draining operation being performed by the balancer. |
| string | Provides the status of the transition to a dedicated config server. |
| document | Shows the remaining tasks the balancer must perform to drain the shard before fully transitioning to a dedicated config server. |
| long | Indicates the number of chunks still on the shard. |
| long | Indicates the number of databases still on the shard. |
| long | Indicates the number of large chunks still on the shard. |
| long | Indicates the number of collections still on the shard. |
| string | Provides additional message for the user. |
| array | Indicates databases that use the draining shard as the
primary shard. Before you can fully transition to a dedicated
config server, you must manually move these databases
to a new shard using the |
| array | Indicates unsharded collections stored on the draining
shard. Before you can fully transition to a dedicated config server,
you must manually move these collections to another shard
using the |
Behavior
Access Requirements
If you have authorization enabled, you must
have the clusterManager role or any role that
includes the removeShard action.
Database Migration Requirements
If the embedded config server is also the primary of one of the cluster's
databases, then you must manually move the databases to a new shard after
migrating all data from the shard. See the movePrimary command and
the Remove Shards from a Sharded Cluster for more information.
Collection Migration Requirements
If one of the unsharded collections is on the embedded config server, you must first migrate the collection to a different shard.
To migrate an unsharded collection, see the
moveCollection command.
Examples
To start the transition to a dedicated config server, use the
db.adminCommand() method to run the
startTransitionToDedicatedConfigServer command:
db.adminCommand( { startTransitionToDedicatedConfigServer: 1 } )
To check the status of the draining operation, use the
getTransitionToDedicatedConfigServerStatus command:
db.adminCommand( { getTransitionToDedicatedConfigServerStatus: 1 } )
{ "state" : "ongoing", "remaining" : { "chunks" : NumberLong(2), "collectionsToMove" : NumberLong(1), "dbs" : NumberLong(1), "jumboChunks" : NumberLong(0), "estimatedRemainingBytes" : NumberLong(18) }, "msg" : "draining ongoing", "dbsToMove" : [ "testDB" ], "note" : "you need to call moveCollection for collectionsToMove and afterwards movePrimary for the dbsToMove", "collectionsToMove" : [ "testDB.testCollUnsharded" ], "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp(1772210444, 27), "signature" : { "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : NumberLong(0) } }, "operationTime" : Timestamp(1772210444, 27) }