Definición
stopShardDrainingImpide que el equilibrador drene fragmentos del fragmento especificado.
Cuando se ejecuta el comando, le indica al balanceador que se desea que el fragmento permanezca en el clúster. El balanceador deja entonces de vaciar el fragmento y lo vuelve a incluir en las operaciones de reequilibrio, transfiriendo los fragmentos de nuevo al fragmento.
El comando devuelve un error si el fragmento no existe; de lo contrario, devuelve
ok.Para comenzar a drenar un fragmento, utilice el
startShardDraining.Para comprobar el estado de un fragmento en proceso de drenaje, utilice el
shardDrainingStatuscomando.Para eliminar un fragmento después de que termine de drenarse, utilice el
commitShardRemovalcomando.Nuevo en la versión 8.3.
Compatibilidad
Este comando está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Nota
Este comando no es compatible en MongoDB Atlas. Consulta Modify your Atlas Sharded Cluster para añadir o remover particiones de tu clúster de Atlas.
Sintaxis
El comando tiene la siguiente sintaxis:
db.adminCommand( { stopShardDraining: <shard> } )
Comportamiento
Requisitos de acceso
Si tienes habilitado authorization, debes tener el rol de clusterManager o cualquier rol que incluya la acción de removeShard.
Ejemplos
Para comenzar a drenar un fragmento, utilice el método db.adminCommand() startShardDraining para ejecutar el comando:
db.adminCommand( { startShardDraining: "shard04" } )
Para detener el vaciado del fragmento, utilice el método para ejecutar db.adminCommand() el stopShardDraining comando:
db.adminCommand( { stopShardDraining: "shard04" } )