Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
particionado

clearJumboFlag (comando de base de datos)

clearJumboFlag

Limpia el jumbo bandera para un fragmento. Para utilizar el comando, emitir el comando clearJumboFlag en una instancia mongos.

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 namespace de la colección particionada que tenga el(los) fragmento(s) jumbo.

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. 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:

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

Documento

Una clave de partición específica y su valor contenidos en el fragmento jumbo.

{ <shardKey> : <value> }

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.

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)

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)

Tip

Volver

equilibradorStop

En esta página