Definition
Starts the transition from an embedded config server to a dedicated config server.
When the command runs, it tells the balancer that you want to
start the transition to a dedicated config server. Asynchronously,
the balancer then begins moving chunks from the shard to other shards in the
cluster. Once the balancer has finished this process and you have manually
migrated any unsharded collections to a different shard, you can safely remove
it from the cluster because it no longer contains data. See the
moveCollection command for more information.
Note
The balancer must be enabled for startTransitionToDedicatedConfigServer
to move chunks off the embedded config server shard. If the balancer is
disabled, no chunks are migrated and
getTransitionToDedicatedConfigServerStatus continues to report
remaining work on the shard.
The command returns an error if the transition fails, otherwise it returns
ok.
New in version 8.3.
To show the status of the transition from an embedded config server to a
dedicated config server, see the
getTransitionToDedicatedConfigServerStatus command.
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( { startTransitionToDedicatedConfigServer: 1 } )
Behavior
Access Requirements
If you have authorization enabled, you must
have the clusterManager role or any role that
includes the removeShard action.
No Cluster Back Ups During Shard Drain
You cannot back up the cluster while starting the transition.
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.
Chunk Balancing
When you transition to a dedicated config server and the cluster has an uneven chunk distribution, the balancer first removes the chunks from the draining shard and then balances the remaining uneven chunk distribution.
Write Concern
mongos converts the write concern of the startTransitionToDedicatedConfigServer command to
"majority".
Change Streams
Draining the embedded config server may cause an open change stream cursor to close, and the closed change stream cursor may not be fully resumable.
DDL Operations
If you run startTransitionToDedicatedConfigServer while your cluster is
executing a DDL operation (operation that modifies a collection
such as reshardCollection), the transition only
executes after the concurrent DDL operation finishes.
Examples
To start the transition, use the db.adminCommand()
method:
db.adminCommand( { startTransitionToDedicatedConfigServer: 1 } )