On this page本页内容
mergeChunks
¶For a sharded collection, mergeChunks
combines contiguous chunk ranges on a shard into a single chunk. Issue the mergeChunks
command on the admin
database from a mongos
instance.
mergeChunks
has the following form:
For compound shard keys, you must include the full shard key in the bounds
specification. For example, if the shard key is { x: 1, y:
1 }
, mergeChunks
has the following form:
The mergeChunks
command takes the following fields:
mergeChunks |
namespace | The fully qualified namespace of the collection where both chunks exist. Namespaces take form of <database>.<collection> . |
bounds |
array | An array that contains the minimum and maximum key values of the new chunk. |
On deployments running with authorization
, the user must have access that includes the following privileges:
splitChunk
action on the collection.The built-in role clusterManager
provides the required privileges.
Note
Use the mergeChunks
only in special circumstances. For instance, when cleaning up your sharded cluster after removing many documents.
In order to successfully merge chunks, the following must be true:
bounds
field, <minkey>
and <maxkey>
must correspond to the lower and upper bounds of the chunks to merge.mergeChunks
returns an error if these conditions are not satisfied.
On success, mergeChunks
returns to following document:
mergeChunks
returns the following error message if another metadata operation is in progress on the chunks
collection:
If another process, such as balancer process, changes metadata while mergeChunks
is running, you may see this error. You can retry the mergeChunks
operation without side effects.
If the input chunks are not on the same shard, mergeChunks
returns an error similar to the following:
If the input chunks are not contiguous, mergeChunks
returns an error similar to the following: