Docs Menu
Docs Home
/ /

clearJumboFlag (comando de base de datos)

clearJumboFlag

Limpia el Banderajumbo para un fragmento. Para usar el comando, ejecute el comando clearJumboFlag Comando en una mongos instancia.

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.

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>
}
)

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:

[ { <shardKey> : <minValue> },{ <shardKey> : <maxValue> } ]

Documento

Una clave de fragmento específica y su valor contenido en el fragmento gigante.

{ <shardKey> : <value> }

  • Especifique el campo de límites o el find campo, pero no ambos.

  • Si la colección usa una clave de fragmento con hash,no use el campo de búsqueda. En su lugar, use límites.

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.

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)

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)

Tip

Volver

comprobarConsistencia de Metadatos

En esta página