Definición
clearJumboFlagLimpia el jumbo bandera 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> } )
-O-
// 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 la bandera gigante de un fragmento (clave de fragmento 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 }] } )
En caso de é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 } } )
En caso de é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") }] } )
En caso de é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)