Definición
clearJumboFlagLimpia el Marca jumbo para un fragmento. Para usar el comando, ejecute el comando
clearJumboFlagmongosen una instancia.
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 | El espacio de nombres de la colección fragmentada con los fragmentos gigantes. Especifique el espacio de nombres completo de la colección, incluido el nombre de la base de datos (es decir, "<database>.<collection>") | |
arreglo | Los límites exactos de un fragmento específico. La matriz debe constar de dos documentos que especifiquen los valores de clave de fragmento inferior y superior del fragmento que se va a mover:
| |
Documento | Una clave de fragmento específica y su valor contenido en el fragmento gigante.
|
Control de acceso
En sistemas que se ejecutan conauthorization, el usuario debe tener las acciones de privilegioclearJumboFlagen el recurso {
db: "", collection: "" }.
El rol integrado proporciona los privilegios clusterManager adecuados.
Ejemplo
Borrar la bandera gigante de un fragmento (clave de fragmento basada en rango)
Elsh.status()incluye los siguientessh.status.databases.<collection>.chunk-detailspara 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 { "x" : 1 } -->> { "x" :
2 } fragmento:
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 de búsqueda para encontrar el fragmento que contiene la clave de { "x" : 2 } fragmento:
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, vuelva a ejecutar.sh.status() El jumbo indicador ya no debería aparecer en la 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 la bandera Jumbo para un fragmento (clave de fragmento 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 el jumbo indicador de un fragmento si la colección usa una clave de fragmento con hash, use con clearJumboFlag el campo de límites:
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, vuelva a ejecutar.sh.status() El jumbo indicador ya no debería aparecer en la 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)