cleanupOrphaned
On this page本页内容
Definition
cleanupOrphaned
Changed in version 4.4.
For orphaned documents generated after upgrading to MongoDB 4.4, chunk migrations and orphaned document cleanup are more resilient to failover. The cleanup process automatically resumes in the event of a failover. You no longer need to run the
cleanupOrphaned
command to clean up orphaned documents. Instead, use this command to wait for orphaned documents in a chunk range from a shard key'sMinKey
to itsMaxKey
for a specified namespace to be cleaned up from a majority of a shard's members.In MongoDB 4.2 and earlier,
cleanupOrphaned
initiated the cleanup process for orphaned documents in a specified namespace and shard key range.To run, issue
cleanupOrphaned
in theadmin
database directly on themongod
instance that is the primary replica set member of the shard. You do not need to disable the balancer before runningcleanupOrphaned
.NoteDo not run
cleanupOrphaned
on amongos
instance.
Syntax
The command has the following syntax:
db.runCommand(
{
cleanupOrphaned: "<database>.<collection>",
startingFromKey: <minimumShardKeyValue>, // deprecated
secondaryThrottle: <boolean>, // deprecated
writeConcern: <document> // deprecated
}
)
Command Fields
cleanupOrphaned
has the following fields:
Field | Type | Description |
---|---|---|
cleanupOrphaned | string | The namespace, i.e. both the database and the collection name, of the sharded collection for which to wait for cleanup of the orphaned data. |
startingFromKey | document | Deprecated. Starting in MongoDB 4.4, the value of this field is not used to determine the bounds of the cleanup range. The cleanupOrphaned command waits until all orphaned documents in all ranges are cleaned up from the shard before completing, regardless of the presence of or the value of startingFromKey .
Note The mongod continues to validate that the startingFromKey value matches the shard key pattern, even though it is not used to determine the bounds of the cleanup range.
|
secondaryThrottle | boolean | Deprecated. Starting in MongoDB 4.4, this field has no effect. |
writeConcern | document | Deprecated. Starting in MongoDB 4.4, this field has no effect. Orphaned documents are always cleaned up from a majority of a shard's members ({ writeConcern: { w: "majority" } } )
before the cleanupOrphaned command returns a response. |
Behavior
Determine Range
Starting in MongoDB 4.4, the value of this field is not used to determine the bounds of the cleanup range. The cleanupOrphaned
command waits until all orphaned documents in all ranges in the namespace are cleaned up from the shard before completing, regardless of the presence of or value of startingFromKey
.
Required Access
On systems running with authorization
, you must have clusterAdmin
privileges to run cleanupOrphaned
.
Output
Return Document
Each cleanupOrphaned
command returns a document containing a subset of the following fields: