Definición
clearJumboFlagLimpia el indicador de jumbo para un fragmento. Para utilizar el comando, emitir el comando
clearJumboFlagen una instanciamongos.
Compatibilidad
Este comando está disponible en implementaciones alojadas en los siguientes entornos:
- MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
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.
Sintaxis
El comando tiene la siguiente sintaxis:
db.adminCommand( { clearJumboFlag: "<database>.<collection>", bounds: <array> } )
-OR-
// Cannot use for collections with hashed shard keys db.adminCommand( { clearJumboFlag: "<database>.<collection>", find: <query> } )
Campos de comandos
El comando clearJumboFlag toma los siguientes campos como argumentos:
Campo | Tipo | Descripción |
|---|---|---|
string | ||
arreglo | Los límites exactos de un fragmento específico. El arreglo debe consistir en dos documentos que especifiquen los valores inferior y superior de la clave de partición de un fragmento para trasladar:
| |
Documento | Una clave de partición específica y su valor contenidos en el fragmento jumbo.
|
Control de acceso
En sistemas que funcionan con authorization, el usuario debe tener las acciones necesarias para el privilegio clearJumboFlag en el recurso { db: "", collection: "" }.
El rol integrado clusterManager proporciona los privilegios apropiados.
Ejemplo
Borrar el indicador jumbo para un fragmento (clave de partición basada en rango)
El sh.status() incluye los siguientes sh.status.databases.<collection>.chunk-details para la colección test.jumbo.
... // Content omitted for brevity test.jumbo shard key: { "x" : 1 } unique: false balancing: true chunks: shardA 2 shardB 2 { "x" : { "$minKey" : 1 } } -->> { "x" : 1 } on : shardB Timestamp(3, 0) { "x" : 1 } -->> { "x" : 2 } on : shardA Timestamp(6, 1) jumbo { "x" : 2 } -->> { "x" : 3 } on : shardA Timestamp(5, 1) jumbo { "x" : 3 } -->> { "x" : { "$maxKey" : 1 } } on : shardB Timestamp(6, 0)
El siguiente comando clearJumboFlag especifica los límites del fragmento { "x" : 1 } -->> { "x" : 2 }:
db.adminCommand( { clearJumboFlag: "test.jumbo", bounds: [{ "x" : 1 }, { "x" : 2 }] } )
Cuando se ejecuta con éxito, el comando devuelve "ok": 1 en su salida:
{ "ok" : 1, "operationTime" : Timestamp(1580190080, 5), "$clusterTime" : { "clusterTime" : Timestamp(1580190080, 5), "signature" : { "hash" : BinData(0,"0cYT49s72MHUYV1F2WpoEwlyeVs="), "keyId" : Long("6786859092951433239") } } }
El siguiente comando clearJumboFlag especifica el campo find para encontrar el fragmento que contiene la clave de partición { "x" : 2 } :
db.adminCommand( { clearJumboFlag: "test.jumbo", find: { "x" : 2 } } )
Cuando se ejecuta con éxito, el comando devuelve "ok": 1 en su salida:
{ "ok" : 1, "operationTime" : Timestamp(1580191819, 5), "$clusterTime" : { "clusterTime" : Timestamp(1580191819, 5), "signature" : { "hash" : BinData(0,"N6x6drN7HUq5MR5ezUJns1rfeqY="), "keyId" : Long("6786859092951433239") } } }
Para verificar la operación, ejecuta sh.status() nuevamente. La bandera jumbo ya no debe aparecer en su salida.
... // Content omitted for brevity test.jumbo shard key: { "x" : 1 } unique: false balancing: true chunks: shardA 2 shardB 2 { "x" : { "$minKey" : 1 } } -->> { "x" : 1 } on : shardB Timestamp(3, 0) { "x" : 1 } -->> { "x" : 2 } on : shardA Timestamp(7, 0) { "x" : 2 } -->> { "x" : 3 } on : shardA Timestamp(8, 0) { "x" : 3 } -->> { "x" : { "$maxKey" : 1 } } on : shardB Timestamp(6, 0)
Borrar bandera Jumbo para un fragmento (clave de partición con hash)
El sh.status() incluye los siguientes sh.status.databases.<collection>.chunk-details para la colección test.jumboHashed. La colección utiliza una clave de partición con hash.
... // Content omitted for brevity test.jumboHashed shard key: { "x" : "hashed" } unique: false balancing: true chunks: shardA 2 shardB 2 { "x" : { "$minKey" : 1 } } -->> { "x" : Long(0) } on : shardA Timestamp(1, 0) { "x" : Long(0) } -->> { "x" : Long("848411777775835583") } on : shardA Timestamp(4, 0) { "x" : Long("848411777775835583") } -->> { "x" : Long("5902408780260971510") } on : shardB Timestamp(4, 1) jumbo { "x" : Long("5902408780260971510") } -->> { "x" : { "$maxKey" : 1 } } on : shardB Timestamp(2, 2)
Para borrar la bandera jumbo de un fragmento si la colección utiliza una clave de partición con hash, use clearJumboFlag con el campo bounds:
db.adminCommand( { clearJumboFlag: "test.jumboHashed", bounds: [{ "x" : Long("848411777775835583") }, { "x" : Long("5902408780260971510") }] } )
Cuando se ejecuta con éxito, el comando devuelve "ok": 1 en su salida:
{ "ok" : 1, "operationTime" : Timestamp(1580194290, 5), "$clusterTime" : { "clusterTime" : Timestamp(1580194290, 5), "signature" : { "hash" : BinData(0,"nWCqOYVrab7NEGHWoo2NYENqHR4="), "keyId" : Long("6786875525496307742") } } }
Para verificar la operación, ejecuta sh.status() nuevamente. La bandera jumbo ya no debe aparecer en su salida.
... // Content omitted for brevity test.jumboHashed shard key: { "x" : "hashed" } unique: false balancing: true chunks: shardA 2 shardB 2 { "x" : { "$minKey" : 1 } } -->> { "x" : Long(0) } on : shardA Timestamp(1, 0) { "x" : Long(0) } -->> { "x" : Long("848411777775835583") } on : shardA Timestamp(4, 0) { "x" : Long("848411777775835583") } -->> { "x" : Long("5902408780260971510") } on : shardB Timestamp(5, 0) { "x" : Long("5902408780260971510") } -->> { "x" : { "$maxKey" : 1 } } on : shardB Timestamp(2, 2)