Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /
Etapas de la pipeline de agregaci贸n

$currentOp (agregaci贸n)

Novedad en la versi贸n 3.6.

$currentOp

Devuelve un flujo de documentos que contiene informaci贸n sobre operaciones activas y/o inactivas, as铆 como sesiones inactivas que mantienen bloqueos como parte de una transacci贸n. La etapa devuelve un documento para cada operaci贸n o sesi贸n. Para ejecutar $currentOp, utiliza el db.aggregate() asistente en la base de datos admin.

La etapa de agregaci贸n $currentOp es preferible a el comando currentOp y su m茅todo asistente mongosh db.currentOp(). Debido a que el comando currentOp y el m茅todo auxiliar db.currentOp() devuelven los resultados en un 煤nico documento, el tama帽o total del conjunto de resultados currentOp est谩 sujeto al l铆mite m谩ximo de 16MB del tama帽o BSON para documentos. La $currentOp etapa devuelve un cursor sobre un flujo de documentos, cada uno de los cuales informa sobre una sola operaci贸n. Cada documento de operaci贸n est谩 sujeto al l铆mite de BSON de 16MB, pero a diferencia del comando currentOp, no hay l铆mite en el tama帽o total del conjunto de resultados.

$currentOp tambi茅n te permite realizar transformaciones arbitrarias de los resultados a medida que los documentos pasan por el pipeline.

Cambiado en la versi贸n 4.2.

{ $currentOp: { allUsers: <boolean>, idleConnections: <boolean>, idleCursors: <boolean>, idleSessions: <boolean>, localOps: <boolean> } }

$currentOp toma un documento de opciones como su operando:

Opci贸n
Descripci贸n

Booleano.

  • Si se establece en false, $currentOp solo informar谩 sobre operaciones/conexiones inactivas/cursores inactivos/sesiones inactivas que pertenezcan al usuario que ejecut贸 el comando.

  • Si se establece en true, $currentOp reportar谩 las operaciones correspondientes a todos los usuarios.

Para conjuntos aut贸nomos y sets de r茅plicas que aplican el control de acceso, se requiere el privilegio inprog si allUsers: true.

Para los cl煤steres particionados que aplican el control de acceso, se requiere el privilegio inprog para ejecutar $currentOp.

Se establece por defecto en false.

booleano. Si se configura en false, $currentOp solo reportar谩 las operaciones activas. Si se establece en true, se devolver谩n todas las operaciones, incluidas las conexiones inactivas.

Se establece por defecto en false.

Booleano.

Si se configura en true, $currentOp informar谩 sobre los cursores que est谩n "inactivos"; es decir, abiertos pero que no est谩n actualmente activos en una operaci贸n getMore.

La informaci贸n sobre los cursores inactivos tiene la type configurada en "idleCursor".

La informaci贸n sobre los cursores actualmente activos en una getMore informaci贸n de la operaci贸n tiene el type configurado en "op" y el op configurado en getmore.

Se establece por defecto en false.

Nuevo en la versi贸n 4.2.

Booleano.

  • Si est谩 establecido en true, adem谩s de las operaciones activas/inactivas, $currentOp informar谩 sobre:

    • Sesiones inactivas que est谩n reteniendo bloqueos como parte de una transacci贸n. Cada sesi贸n inactiva aparecer谩 como un documento separado en el flujo $currentOp.

      El documento de una sesi贸n incluye informaci贸n sobre la ID de la sesi贸n en el campo lsid y la transacci贸n en el campo transaction.

      A partir de MongoDB 4.2, la informaci贸n sobre sesiones inactivas tiene el type configurado en "idleSession".

    • $currentOp.twoPhaseCommitCoordinator in inactive state

  • Si se establece en false, $currentOp no informar谩 sobre:

Se establece por defecto en true.

booleano. Si se establece en true para una agregaci贸n que se ejecuta en mongos, $currentOp solo informa aquellas operaciones que se ejecutan localmente en ese mongos. Si false, entonces el $currentOp reportar谩 en su lugar las operaciones que se ejecutan en las particiones.

El par谩metro localOps no tiene efecto en las agregaciones de $currentOp que se ejecutan en mongod.

Se establece por defecto en false.

booleano. Determina si la informaci贸n de la pila de llamadas se devuelve como parte del campo de salida waitingForLatch.

Se establece por defecto en false.

Nuevo en la versi贸n 4.2.2.

Omitir cualquiera de los par谩metros anteriores causar谩 que $currentOp use el valor por defecto de ese par谩metro. Especifica un documento vac铆o, como se muestra a continuaci贸n, para usar los valores por defecto de todos los par谩metros.

{ $currentOp: { } }
  • $currentOp debe ser la primera etapa en la pipeline.

  • Los pipelines que empiezan con $currentOp solo se pueden ejecutar en la base de datos admin.

  • Para conjuntos aut贸nomos y sets de r茅plicas que aplican el control de acceso, se requiere el privilegio de inprog para ejecutar $currentOp si allUsers: true.

  • Para los cl煤steres fragmentados que hacen cumplir el control de acceso, se requiere el privilegio inprog para ejecutar el $currentOp.

El siguiente ejemplo devuelve informaci贸n sobre las sesiones inactivas que mantienen bloqueos como parte de una transacci贸n. En concreto:

  • La primera etapa devuelve documentos para todas las operaciones activas, as铆 como sesiones inactivas que mantienen bloqueos como parte de una transacci贸n.

  • La segunda etapa filtra s贸lo aquellos documentos relacionados con sesiones inactivas que est谩n manteniendo bloqueos como parte de una transacci贸n.

db.getSiblingDB("admin").aggregate( [
{ $currentOp : { allUsers: true, idleSessions: true } },
{ $match : { active: false, transaction : { $exists: true } } }
] )

A partir de la versi贸n 4.2, puedes usar $currentOp.type para especificar un filtro equivalente:

db.getSiblingDB("admin").aggregate( [
{ $currentOp : { allUsers: true, idleSessions: true } },
{ $match : { type: "idleSession" } }
] )

Tip

Para las transacciones en un cl煤ster fragmentado, incluye localOps:true en los ejemplos anteriores para obtener una vista compuesta de las transacciones.

Ambas operaciones devuelven documentos con el siguiente formato:

Cuando se ejecuta en un mongod que forma parte de un set de r茅plicas:

{
"type" : "idleSession",
"host" : "example.mongodb.com:27017",
"desc" : "inactive transaction",
"client" : "198.51.100.1:50428",
"connectionId" : NumberLong(32),
"appName" : "",
"clientMetadata" : {
"driver" : {
"name" : "PyMongo",
"version" : "3.9.0"
},
"os" : {
"type" : "Darwin",
"name" : "Darwin",
"architecture" : "x86_64",
"version" : "10.14.5"
},
"platform" : "CPython 3.7.1.final.0"
},
"lsid" : {
"id" : UUID("ff21e1a9-a130-4fe0-942f-9e6b6c67ea3c"),
"uid" : BinData(0,"3pxqkATNUYKV/soT7qqKE0zC0BFb0pBz1pk4xXcSHsI=")
},
"transaction" : {
"parameters" : {
"txnNumber" : NumberLong(4),
"autocommit" : false,
"readConcern" : {
"level" : "snapshot",
"afterClusterTime" : Timestamp(1563892246, 1)
}
},
"readTimestamp" : Timestamp(0, 0),
"startWallClockTime" : "2019-07-23T10:30:49.461-04:00",
"timeOpenMicros" : NumberLong(1913590),
"timeActiveMicros" : NumberLong(55),
"timeInactiveMicros" : NumberLong(1913535),
"expiryTime" : "2019-07-23T10:31:49.461-04:00"
},
"waitingForLock" : false,
"active" : false,
"locks" : {
"ReplicationStateTransition" : "w",
"Global" : "w",
"Database" : "w",
"Collection" : "w"
},
"lockStats" : {
"ReplicationStateTransition" : {
"acquireCount" : {
"w" : NumberLong(5)
}
},
"Global" : {
"acquireCount" : {
"r" : NumberLong(3),
"w" : NumberLong(1)
}
},
"Database" : {
"acquireCount" : {
"r" : NumberLong(2),
"w" : NumberLong(1)
}
},
"Collection" : {
"acquireCount" : {
"w" : NumberLong(1)
}
},
"Mutex" : {
"acquireCount" : {
"r" : NumberLong(3)
}
},
"oplog" : {
"acquireCount" : {
"r" : NumberLong(2)
}
}
},
"waitingForFlowControl" : false,
"flowControlStats" : {
}
}

Al ejecutar $currentOp con localOps:true, se obtiene una vista compuesta (en lugar de por partici贸n) de las transacciones en curso que se ejecutan en ese mongos.

db.getSiblingDB("admin").aggregate( [
{ $currentOp : { allUsers: true, idleSessions: true, localOps: true } },
{ $match : { type: "idleSession" } }
] );
// or
db.getSiblingDB("admin").aggregate( [
{ $currentOp : { allUsers: true, idleSessions: true, localOps: true } },
{ $match : { active: false, transaction : { $exists: true } } }
] )
{
"type" : "idleSession",
"host" : "example.mongodb.com:27017",
"desc" : "inactive transaction",
"client" : "198.51.100.1:49618",
"connectionId" : NumberLong(48),
"appName" : "",
"clientMetadata" : {
"driver" : {
"name" : "PyMongo",
"version" : "3.9.0"
},
"os" : {
"type" : "Darwin",
"name" : "Darwin",
"architecture" : "x86_64",
"version" : "10.14.6"
},
"platform" : "CPython 3.7.1.final.0",
"mongos" : {
"host" : "example.mongodb.com:27017",
"client" : "198.51.100.1:53268",
"version" : "4.2.1"
}
},
"lsid" : {
"id" : UUID("2c9ce111-133e-45b7-a00f-a7871005cae1"),
"uid" : BinData(0,"3pxqkATNUYKV/soT7qqKE0zC0BFb0pBz1pk4xXcSHsI=")
},
"active" : false,
"transaction" : {
"parameters" : {
"txnNumber" : NumberLong(2),
"autocommit" : false,
"readConcern" : {
"level" : "snapshot",
"afterClusterTime" : Timestamp(1571869019, 2)
}
},
"globalReadTimestamp" : Timestamp(1571869019, 2),
"startWallClockTime" : "2019-10-23T18:16:59.341-04:00",
"timeOpenMicros" : NumberLong(169244639),
"timeActiveMicros" : NumberLong(535),
"timeInactiveMicros" : NumberLong(169244104),
"numParticipants" : 2,
"participants" : [
{
"name" : "shardB",
"coordinator" : true,
"readOnly" : false
},
{
"name" : "shardA",
"coordinator" : false,
"readOnly" : false
}
],
"numReadOnlyParticipants" : 0,
"numNonReadOnlyParticipants" : 2
}
}

Cuando se ejecuta sin localOps:true en el mongos, la informaci贸n de la transacci贸n es por partici贸n.

Cuando se ejecuta en un mongos sin localOps:true, la informaci贸n sobre la transacci贸n es por partici贸n.

{
"shard" : "shardB",
"type" : "idleSession",
"host" : "shardB.mongodb.com:27018",
"desc" : "inactive transaction",
"client_s" : "198.51.100.1:53961",
"connectionId" : NumberLong(63),
"appName" : "",
"clientMetadata" : {
"driver" : {
"name" : "PyMongo",
"version" : "3.9.0"
},
"os" : {
"type" : "Darwin",
"name" : "Darwin",
"architecture" : "x86_64",
"version" : "10.14.6"
},
"platform" : "CPython 3.7.1.final.0",
"mongos" : {
"host" : "example.mongodb.com:27017",
"client" : "198.51.100.1:53976",
"version" : "4.2.0"
}
},
"lsid" : {
"id" : UUID("720d403c-8daf-40bb-b61e-329e20b0493b"),
"uid" : BinData(0,"3pxqkATNUYKV/soT7qqKE0zC0BFb0pBz1pk4xXcSHsI=")
},
"transaction" : {
"parameters" : {
"txnNumber" : NumberLong(1),
"autocommit" : false,
"readConcern" : {
"level" : "snapshot"
}
},
"readTimestamp" : Timestamp(0, 0),
"startWallClockTime" : "2019-10-21T18:31:12.192-04:00",
"timeOpenMicros" : NumberLong(24137008),
"timeActiveMicros" : NumberLong(52),
"timeInactiveMicros" : NumberLong(24136956),
"expiryTime" : "2019-10-21T18:32:12.192-04:00"
},
"waitingForLock" : false,
"active" : false,
"locks" : {
"ReplicationStateTransition" : "w",
"Global" : "w",
"Database" : "w",
"Collection" : "w"
},
"lockStats" : {
"ReplicationStateTransition" : {
"acquireCount" : {
"w" : NumberLong(3)
}
},
"Global" : {
"acquireCount" : {
"r" : NumberLong(1),
"w" : NumberLong(1)
}
},
"Database" : {
"acquireCount" : {
"r" : NumberLong(1),
"w" : NumberLong(1)
}
},
"Collection" : {
"acquireCount" : {
"r" : NumberLong(1),
"w" : NumberLong(1)
}
},
"Mutex" : {
"acquireCount" : {
"r" : NumberLong(6)
}
}
}
}
{
"shard" : "shardA",
"type" : "idleSession",
...
}

Cada documento de salida puede contener un subconjunto de los siguientes campos seg煤n sea relevante para la operaci贸n:

$currentOp.type

Nuevo en la versi贸n 4.2.

El tipo de operaci贸n. Los valores son:

  • op

  • idleSession

  • idleCursor

Si el $currentOp.type est谩 op, $currentOp.op proporciona detalles sobre la operaci贸n espec铆fica.

$currentOp.host

El nombre del host contra el cual se ejecuta la operaci贸n.

$currentOp.shard

El nombre de la partici贸n en el que se est谩 ejecutando la operaci贸n.

Solo presente para cl煤steres fragmentados.

$currentOp.desc

Una descripci贸n de la operaci贸n.

$currentOp.connectionId

Un identificador para la conexi贸n donde se origin贸 la operaci贸n espec铆fica.

$currentOp.client

La direcci贸n IP (o el nombre de host) y el puerto ef铆mero de la conexi贸n del cliente en donde se origina la operaci贸n.

Para transacciones multi-documento, $currentOp.client almacena informaci贸n sobre el cliente m谩s reciente que ejecut贸 una operaci贸n dentro de la transacci贸n.

Solo para aut贸nomos y sets de r茅plicas

$currentOp.client_s

La direcci贸n IP (o nombre del host) y el puerto ef铆mero del mongos donde se origina la operaci贸n.

Solo para cl煤steres fragmentados

$currentOp.clientMetadata

Informaci贸n adicional del cliente.

Para transacciones multi-documento, $currentOp.client almacena informaci贸n sobre el cliente m谩s reciente que ejecut贸 una operaci贸n dentro de la transacci贸n.

$currentOp.appName

Novedad en la versi贸n 3.4.

El identificador de la aplicaci贸n cliente que ejecut贸 la operaci贸n. Utiliza la opci贸n de cadena de conexi贸n appName para establecer un valor personalizado para el campo appName.

$currentOp.active

Un valor booleano que especifica si la operaci贸n ha comenzado. El valor es true si la operaci贸n ha comenzado o false si la operaci贸n est谩 inactiva, como una conexi贸n inactiva, una sesi贸n inactiva o un hilo interno que actualmente est谩 inactivo. Una operaci贸n puede estar activa incluso si la operaci贸n ha cedido a otra operaci贸n.

$currentOp.twoPhaseCommitCoordinator

Informaci贸n sobre cualquiera de los siguientes:

  • Las m茅tricas de coordinaci贸n de confirmaci贸n para una transacci贸n cuyas operaciones de guardado abarcan m煤ltiples particiones.

    La coordinaci贸n de la confirmaci贸n la realiza una partici贸n, y $currentOp (ejecuta en un mongos o en un nodo de la partici贸n) devuelve la informaci贸n de coordinaci贸n de una partici贸n 煤nicamente para las transacciones que se encuentran actualmente coordinadas por esa partici贸n.

    Para filtrar solo por las m茅tricas de coordinaci贸n de confirmaciones:

    db.getSiblingDB("admin").aggregate( [
    { $currentOp: { allUsers: true, idleSessions: true } },
    { $match: { desc: "transaction coordinator" } }
    ] )
  • Una operaci贸n de coordinaci贸n de env铆os espec铆fica (es decir, type es op y desc es "TransactionCoordinator") gestado por el coordinador de transacciones.

Nota

$currentOp.twoPhaseCommitCoordinator.lsid

El identificador de sesi贸n para la transacci贸n multipartici贸n.

La combinaci贸n de lsid y txnNumber identifica la transacci贸n.

Disponible tanto para las m茅tricas de coordinaci贸n de confirmaciones como para operaciones de coordinaci贸n espec铆ficas.

$currentOp.twoPhaseCommitCoordinator.txnNumber

El n煤mero de transacci贸n para la transacci贸n de m煤ltiples particiones.

La combinaci贸n de txnNumber y lsid identifica la transacci贸n.

Disponible tanto para las m茅tricas de coordinaci贸n de confirmaciones como para operaciones de coordinaci贸n espec铆ficas.

$currentOp.twoPhaseCommitCoordinator.action

La operaci贸n espec铆fica de coordinaci贸n de confirmaci贸n originada por el coordinador de transacciones:

  • "sendingPrepare"

  • "sendingCommit"

  • "sendingAbort"

  • "writingParticipantList"

  • "writingDecision"

  • "deletingCoordinatorDoc"

Solo disponible para operaci贸n de coordinaci贸n espec铆fica.

$currentOp.twoPhaseCommitCoordinator.startTime

La fecha y hora de inicio del action.

Solo disponible para operaci贸n de coordinaci贸n espec铆fica.

$currentOp.twoPhaseCommitCoordinator.numParticipants

N煤mero de particiones que participan en este commit.

Solo est谩 disponible para las m茅tricas de coordinaci贸n de commits.

$currentOp.twoPhaseCommitCoordinator.state

El paso/estado actual del proceso de coordinaci贸n de confirmaciones.

Paso/etapa
Descripci贸n

inactive

No forma parte activamente de una commit.

writingParticipantList

Registrando un registro local de la lista de particiones que forman parte de esta transacci贸n multi-partici贸n.

waitingForVotes

Esperando que los participantes respondan con su voto para confirmar o abortar.

writingDecision

Redacci贸n de un registro local de la decisi贸n del coordinador de confirmar o abortar en funci贸n de los votos.

waitingForDecisionAck

Esperando que los participantes reconozcan la decisi贸n del coordinador de confirmar o cancelar.

deletingCoordinatorDoc

Borrando el registro local de la decisi贸n de confirmaci贸n.

Solo est谩 disponible para las m茅tricas de coordinaci贸n de commits.

Ver tambi茅n $currentOp.twoPhaseCommitCoordinator.stepDurations.

$currentOp.twoPhaseCommitCoordinator.commitStartTime

La fecha y hora en que comenz贸 el commit.

Solo est谩 disponible para las m茅tricas de coordinaci贸n de commits.

$currentOp.twoPhaseCommitCoordinator.hasRecoveredFromFailover

Un booleano que indica si la coordinaci贸n de confirmaciones se reinici贸 debido a un cambio de respaldo en la partici贸n que coordina la confirmaci贸n.

Si hasRecoveredFromFailover es verdadero, entonces los tiempos especificados en $currentOp.twoPhaseCommitCoordinator.stepDurations pueden no ser precisos para todos los pasos.

Solo est谩 disponible para las m茅tricas de coordinaci贸n de commits.

$currentOp.twoPhaseCommitCoordinator.stepDurations

Un documento que contiene la duraci贸n, en microsegundos, de la steps/state completada o en curso del proceso en activo, as铆 como la duraci贸n total acumulada; por ejemplo:

"stepDurations" : {
"writingParticipantListMicros" : NumberLong(17801),
"totalCommitDurationMicros" : NumberLong(42488463),
"waitingForVotesMicros" : NumberLong(30378502),
"writingDecisionMicros" : NumberLong(15015),
"waitingForDecisionAcksMicros" : NumberLong(12077145),
"deletingCoordinatorDocMicros" : NumberLong(6009)
},

Si $currentOp.twoPhaseCommitCoordinator.hasRecoveredFromFailover es verdadero, entonces los tiempos especificados en stepDurations pueden no ser precisos para todos los pasos.

Para un coordinador en un estado inactive, el documento est谩 vac铆o:

"stepDurations" : {
}

Solo est谩 disponible para las m茅tricas de coordinaci贸n de commits.

Se puede consultar $currentOp.twoPhaseCommitCoordinator.state.

$currentOp.twoPhaseCommitCoordinator.decision

Un documento que contiene la decisi贸n de confirmaci贸n/cancelaci贸n, por ejemplo:

  • Para una decisi贸n de compromiso:

    "decision" : {
    "decision" : "commit",
    "commitTimestamp" : Timestamp(1572034669, 3)
    }
  • Para una decisi贸n de aborto:

    "decision" : {
    "decision" : "abort",
    "abortStatus" : {
    "code" : 282,
    "codeName" : "TransactionCoordinatorReachedAbortDecision",
    "errmsg" : "Transaction exceeded deadline"
    }
    }

Solo est谩 disponible para las m茅tricas de coordinaci贸n de commits.

$currentOp.twoPhaseCommitCoordinator.deadline

La fecha y hora en que el compromiso debe finalizar.

Solo est谩 disponible para las m茅tricas de coordinaci贸n de commits.

$currentOp.currentOpTime

La hora de inicio de la operaci贸n.

Novedad en la versi贸n 3.6.

$currentOp.effectiveUsers

Un arreglo que contiene un documento para cada usuario asociado con la operaci贸n. Cada documento de usuario contiene el user nombre y la autenticaci贸n db.

Nuevo en la versi贸n 4.2.

$currentOp.runBy

Un arreglo que contiene un documento para cada usuario que est茅 falseando identidad como el effectiveUser(s) para la operaci贸n. El documento runBy contiene el nombre de user y la autenticaci贸n db. En general, el usuario que suplanta es el usuario __system; por ejemplo.

"runBy" : [
{
"user" : "__system",
"db" : "local"
}
]

Nuevo en la versi贸n 4.2.

$currentOp.opid

El identificador de la operaci贸n. Puedes pasar este valor a db.killOp() en mongosh para finalizar la operaci贸n.

Advertencia

Finaliza las operaciones en marcha con extrema precauci贸n. S贸lo use db.killOp() para finalizar las operaciones iniciadas por los clientes y no terminar operaciones internas de base de datos.

$currentOp.secs_running

La duraci贸n de la operaci贸n en segundos. MongoDB calcula este valor restando la hora de inicio de la operaci贸n de la hora actual.

Solo est谩 presente si la operaci贸n se est谩 ejecutando; es decir, si active est谩 true.

$currentOp.microsecs_running

La duraci贸n de la operaci贸n en microsegundos. MongoDB calcula este valor restando la hora actual de la hora de inicio de la operaci贸n.

Solo se presenta si la operaci贸n est谩 en marcha; es decir, si active est谩 true.

$currentOp.lsid

El identificador de sesi贸n.

Solo se presenta si la operaci贸n est谩 asociada a una sesi贸n.

Novedad en la versi贸n 3.6.

$currentOp.transaction

Un documento que contiene informaci贸n sobre una transacci贸n multi-documento.

Solo se presenta si la operaci贸n es parte de una transacci贸n:

  • En un set de r茅plicas.

  • En un cl煤ster fragmentado si $currentOp se ejecuta sin localOps:true. La informaci贸n de la transacci贸n es por partici贸n.

  • En un cl煤ster particionado si $currentOp se ejecuta con localOps:true. La informaci贸n de la transacci贸n es una vista compuesta en lugar de por partici贸n.

$currentOp.transaction.parameters

Un documento que contiene informaci贸n sobre transacci贸n multi-documento.

Solo est谩 presente si la operaci贸n forma parte de una transacci贸n multidocumento.

$currentOp.transaction.parameters.txnNumber

El n煤mero de transacci贸n.

Solo est谩 presente si la operaci贸n forma parte de una transacci贸n multidocumento.

$currentOp.transaction.parameters.autocommit

Una bandera booleana que indica si autocommit est谩 activado para la transacci贸n.

Solo est谩 presente si la operaci贸n forma parte de una transacci贸n multidocumento.

$currentOp.transaction.parameters.readConcern

El nivel de consistencia de lectura para la transacci贸n.

Las transacciones multi-documento admiten el nivel de consistencia de lectura "snapshot", "local" y "majority".

Solo est谩 presente si la operaci贸n forma parte de una transacci贸n multidocumento.

$currentOp.transaction.globalReadTimestamp

La marca de tiempo de la instant谩nea le铆da por las operaciones en la transacci贸n de cl煤ster particionado que utiliza "preocupaci贸n de lectura de instant谩nea". Para las transacciones en cl煤steres particionados, el nivel de consistencia de lectura "snapshot" de los datos se sincroniza entre las particiones; es decir, otros niveles de consistencia de lectura no pueden garantizar que los datos sean de la misma vista de snapshot en todas las particiones.

Solo est谩 presente cuando se ejecuta con localOps: true para transacciones de cl煤ster particionadas.

$currentOp.transaction.readTimestamp

La marca de tiempo del snapshot que leen las operaciones en esta transacci贸n

Solo se presenta si la operaci贸n forma parte de una transacci贸n multi-documento. Sin embargo, el campo no se devuelve si:

En su lugar, se devuelve $currentOp.transaction.globalReadTimestamp.

$currentOp.transaction.startWallClockTime

La fecha y hora (con zona horaria) del inicio de la transacci贸n.

Solo est谩 presente si la operaci贸n forma parte de una transacci贸n multidocumento.

$currentOp.transaction.timeOpenMicros

La duraci贸n, en microsegundos, de la transacci贸n.

El timeActiveMicros valor a帽adido al timeInactiveMicros debe ser igual al timeOpenMicros.

Solo est谩 presente si la operaci贸n forma parte de una transacci贸n multidocumento.

$currentOp.transaction.timeActiveMicros

La cantidad total de tiempo que la transacci贸n ha estado activa; es decir, cuando la transacci贸n ten铆a operaciones en ejecuci贸n.

El timeActiveMicros valor a帽adido al timeInactiveMicros debe ser igual al timeOpenMicros.

Solo est谩 presente si la operaci贸n forma parte de una transacci贸n multidocumento.

$currentOp.transaction.timeInactiveMicros

La cantidad total de tiempo que la transacci贸n ha estado inactiva, es decir, cuando la transacci贸n no ten铆a operaciones en ejecuci贸n.

El timeInactiveMicros valor a帽adido al timeActiveMicros debe ser igual al timeOpenMicros.

Solo est谩 presente si la operaci贸n forma parte de una transacci贸n multidocumento.

$currentOp.transaction.numParticipants

N煤mero de particiones que participan en esta transacci贸n.

Solo est谩 presente si la operaci贸n forma parte de una transacci贸n en un cl煤ster particionado y $currentOp se ejecuta con localOps: true

$currentOp.transaction.participants

Un arreglo de documentos que detallan los shards participantes en esta transacci贸n. Cada documento contiene el nombre, una bandera que indica si la partici贸n act煤a como coordinador de confirmaci贸n, y una bandera que indica si la partici贸n solo est谩 involucrado en operaciones de lectura de la transacci贸n.

{
"name" : "shardA",
"coordinator" : false,
"readOnly" : false
}

Solo est谩 presente si la operaci贸n forma parte de una transacci贸n en un cl煤ster particionado y $currentOp se ejecuta con localOps: true

$currentOp.transaction.numReadOnlyParticipants

N煤mero de particiones solo afectados por operaciones de lectura en esta transacci贸n.

Solo est谩 presente si la operaci贸n forma parte de una transacci贸n en un cl煤ster particionado y $currentOp se ejecuta con localOps: true

$currentOp.transaction.numNonReadOnlyParticipants

N煤mero de particiones afectadas por operaciones distintas a las de lectura en esta transacci贸n.

Solo est谩 presente si la operaci贸n forma parte de una transacci贸n en un cl煤ster particionado y $currentOp se ejecuta con localOps: true

$currentOp.transaction.expiryTime

La fecha y hora (con zona horaria) en que la transacci贸n expirar谩 y abortar谩.

El $currentOp.transaction.expiryTime es igual al $currentOp.transaction.startWallClockTime + el transactionLifetimeLimitSeconds.

Para obtener m谩s informaci贸n, consulte L铆mite de tiempo de ejecuci贸n para las transacciones.

Solo est谩 presente si la operaci贸n forma parte de una transacci贸n multidocumento.

$currentOp.op

Una string que identifica el tipo de operaci贸n espec铆fico. Solo se presenta si $currentOp.type es op.

Los valores posibles son:

  • "none"

  • "update"

  • "insert"

  • "query"

  • "command"

  • "getmore"

  • "remove"

  • "killcursors"

"command" las operaciones incluyen la mayor铆a de los comandos como createIndexes, aggregate y findAndModify.

"query" las operaciones incluyen operaciones find y operaciones OP_QUERY.

$currentOp.ns

El namespace al que se dirige la operaci贸n. Un namespace consiste en el nombre de la base de datos y el nombre de la colecci贸n concatenados con un punto (.); es decir, "<database>.<collection>".

$currentOp.command

Un documento que contiene el objeto de comando completo asociado con esta operaci贸n.

Por ejemplo, la siguiente salida contiene el objeto de comando para una find operaci贸n en una colecci贸n llamada items en una base de datos llamada test:

"command" : {
"find" : "items",
"filter" : {
"sku" : 1403978
},
...
"$db" : "test"
}

El siguiente resultado de ejemplo contiene el objeto de comando para una operaci贸n getMore generado por un comando con ID de cursor 19234103609 en una colecci贸n llamada items en una base de datos llamada test:

"command" : {
"getMore" : NumberLong("19234103609"),
"collection" : "items",
"batchSize" : 10,
...
"$db" : "test"
},

Si el documento de comando supera 1 kilobyte, el documento tiene la siguiente forma:

"command" : {
"$truncated": <string>,
"comment": <string>
}

El campo $truncated contiene un resumen en forma de string del documento, excluyendo el campo comment del documento si est谩 presente. Si el resumen sigue superando 1 kilobyte, se trunca a煤n m谩s, indicado por una elipsis (...) al final de la string.

El campo comment est谩 presente si se pas贸 un comentario a la operaci贸n. Se puede adjuntar un comentario a cualquier comando de base de datos.

$currentOp.cursor

Nuevo en la versi贸n 4.2.

Un documento que contiene la informaci贸n del cursor para las operaciones idleCursor y getmore; es decir, donde type es idleCursor o op es getmore.

Si se informa sobre una operaci贸n de getmore antes de que getmore haya accedido a su informaci贸n de cursor, el campo cursor no estar谩 disponible.

$currentOp.cursor.cursorId

Nuevo en la versi贸n 4.2.

El ID del cursor.

$currentOp.cursor.createdDate

Nuevo en la versi贸n 4.2.

La fecha y hora en que se cre贸 el cursor.

$currentOp.cursor.lastAccessDate

Nuevo en la versi贸n 4.2.

La fecha y hora en que se utiliz贸 el cursor por 煤ltima vez.

Si el cursor est谩 en uso activo (es decir, op es getmore y el type no es idleCursor), entonces lastAccessDate se informa bien el tiempo en que termin贸 el getmore anterior o el tiempo en que se cre贸 el cursor si este es el primer getmore.

$currentOp.cursor.nDocsReturned

Nuevo en la versi贸n 4.2.

El n煤mero acumulativo de documentos devueltos por el cursor.

$currentOp.cursor.nBatchesReturned

Nuevo en la versi贸n 4.2.

El n煤mero cumulativo de lotes que devuelve el cursor.

$currentOp.cursor.noCursorTimeout

Nuevo en la versi贸n 4.2.

La bandera que indica que el cursor no se agotar谩 por inactividad; es decir, si el cursor tiene activada la opci贸n noTimeout.

  • Si es cierto, el cursor no agota el tiempo cuando est谩 inactivo.

  • Si es falso, el cursor expirar谩 cuando est茅 inactivo.

$currentOp.cursor.tailable

Nuevo en la versi贸n 4.2.

La bandera que indica si el cursor es un cursor con seguimiento para una colecci贸n con tama帽o fijo. Los cursores con seguimiento permanecen abiertos despu茅s de que el cliente agota los resultados en el cursor inicial.

$currentOp.cursor.awaitData

Nuevo en la versi贸n 4.2.

El indicador que se帽ala si el cursor con seguimiento debe bloquear temporalmente un comando getMore en el cursor mientras espera nuevos datos en lugar de devolver ning煤n dato.

Para los cursores sin seguimiento, el valor siempre es false.

$currentOp.cursor.originatingCommand

Nuevo en la versi贸n 4.2.

El campo originatingCommand contiene el objeto de comando completo (por ejemplo, find o aggregate) que originalmente cre贸 el cursor.

Nota

A partir de la versi贸n 4.2, MongoDB ahora devuelve el campo originatingCommand como un campo anidado en el nuevo campo cursor. En versiones anteriores, el originatingCommand era un campo de nivel superior para el documento asociado "getmore".

$currentOp.cursor.planSummary

Nuevo en la versi贸n 4.2.

Una string que especifica si el cursor utiliza un escaneo de colecci贸n (COLLSCAN) o un escaneo de 铆ndice (IXSCAN { ... }).

El IXSCAN tambi茅n incluye el documento de especificaciones del 铆ndice utilizado.

No est谩 disponible cuando se ejecuta con localOps: true en mongos o al hacer reporte en idleCursors.

$currentOp.cursor.operationUsingCursorId

Nuevo en la versi贸n 4.2.

El opid de la operaci贸n usando el cursor.

Solo se muestra si el cursor no est谩 inactivo.

$currentOp.planSummary

Una string que especifica si el cursor utiliza un escaneo de colecci贸n (COLLSCAN) o un escaneo de 铆ndice (IXSCAN { ... }).

No disponible al ejecutarse con localOps: true en mongos.

$currentOp.prepareReadConflicts

El n煤mero de veces que la operaci贸n actual tuvo que esperar a que una transacci贸n preparada con un guardado se confirmara o abortara.

Mientras espera, la operaci贸n sigue manteniendo cualquier bloqueo necesario y recursos del motor de almacenamiento.

Nuevo en la versi贸n 4.2.

$currentOp.writeConflicts

El n煤mero de veces que la operaci贸n actual entr贸 en conflicto con otra operaci贸n de guardar en el mismo documento.

Nuevo en la versi贸n 4.2.

$currentOp.numYields

numYields es un contador que informa el n煤mero de veces que la operaci贸n ha suspendido para permitir que otras operaciones se completen.

Por lo general, las operaciones ceden cuando necesitan acceder a datos que MongoDB a煤n no ha le铆do completamente en la memoria. Esto permite que otras operaciones que tienen datos en memoria se completen r谩pidamente mientras MongoDB lee los datos de la operaci贸n de ceder recursos.

$currentOp.dataThroughputLastSecond

Cantidad de datos (en MiB) procesados por la operaci贸n validate en el 煤ltimo segundo. Solo disponible para una validate operaci贸n que actualmente est谩 escaneando documentos. Por ejemplo:

"msg" : "Validate: scanning documents Validate: scanning documents: 7258/24000 30%",
"progress" : {
"done" : 7258,
"total" : 24000
},
"numYields" : 0,
"dataThroughputLastSecond" : 15.576952934265137,
"dataThroughputAverage" : 15.375944137573242,
$currentOp.dataThroughputAverage

La cantidad promedio de datos (en MiB) procesados por la operaci贸n validate. Solo disponible para una validate operaci贸n que actualmente est谩 escaneando documentos. Por ejemplo:

"msg" : "Validate: scanning documents Validate: scanning documents: 7258/24000 30%",
"progress" : {
"done" : 7258,
"total" : 24000
},
"numYields" : 0,
"dataThroughputLastSecond" : 15.576952934265137,
"dataThroughputAverage" : 15.375944137573242,
$currentOp.waitingForLatch

El documento waitingForLatch solo est谩 disponible si la operaci贸n est谩 esperando adquirir una primitiva de bloqueo interna (tambi茅n conocida como latch) o si se cumple una condici贸n interna.

Por ejemplo,

"waitingForLatch" : {
"timestamp" : ISODate("2020-03-19T23:25:58.412Z"),
"captureName" : "FutureResolution",
"backtrace" : [ ] // Only if backtrace: true
},
Campo de salida
Descripci贸n

Marca de tiempo

La fecha y hora en que la operaci贸n comenz贸 a esperar.

captureName

El nombre interno de la secci贸n donde se encuentra actualmente bloqueada la operaci贸n.

backtrace

El stack de llamadas, si est谩 disponible. El campo solo se incluye si backtrace: true.

$currentOp.locks

El documento locks informa el tipo y el modo de bloqueos que la operaci贸n mantiene actualmente. Los posibles tipos de bloqueo son los siguientes:

Tipo de bloqueo
Descripci贸n

ParallelBatchWriterMode

Representa un bloqueo para el modo de escritura por lotes paralelo.

En versiones anteriores, la informaci贸n de PBWM se informaba como parte de la informaci贸n de bloqueo de Global.

ReplicationStateTransition

Representa el bloqueo tomado para las transiciones de estado del nodo del set de r茅plicas.

Global

Representa el bloqueo global.

Database

Representa el bloqueo de la base de datos.

Collection

Representa un bloqueo de colecci贸n.

Mutex

Representa una exclusi贸n mutua.

Metadata

Representa un bloqueo de metadatos.

oplog

Representa un bloqueo en el oplog.

Los modos posibles son los siguientes:

Modo de bloqueo
Descripci贸n

R

Representa un bloqueo compartido (S).

W

Representa un bloqueo exclusivo (X).

r

Representa un bloqueo de intenci贸n compartida (IS).

w

Representa un bloqueo de intenci贸n exclusiva (IX).

$currentOp.lockStats

Para cada tipo y modo de bloqueo (ver locks para descripciones de tipos y modos de bloqueo), devuelve la siguiente informaci贸n:

$currentOp.lockStats.acquireCount

Cantidad de veces que la operaci贸n adquiri贸 el bloqueo en el modo especificado.

$currentOp.lockStats.acquireWaitCount

Cantidad de veces que la operaci贸n tuvo que esperar para la adquisici贸n de bloqueos acquireCount porque los bloqueos se manten铆an en una moda conflictiva. acquireWaitCount es menor o igual que acquireCount.

$currentOp.lockStats.timeAcquiringMicros

Tiempo acumulado en microsegundos que la operaci贸n tuvo que esperar para adquirir los bloqueos.

timeAcquiringMicros dividido por acquireWaitCount proporciona un tiempo de espera promedio aproximado para la moda de bloqueo particular.

$currentOp.lockStats.deadlockCount

N煤mero de veces que la operaci贸n encontr贸 bloqueos mutuos al esperar la adquisici贸n de bloqueos.

$currentOp.waitingForLock

Devuelve un valor booleano. waitingForLock es true si la operaci贸n est谩 esperando un bloqueo y false si la operaci贸n tiene el bloqueo requerido.

$currentOp.msg

El msg proporciona un mensaje que describe el estado y el progreso de la operaci贸n. En el caso de las operaciones de indexaci贸n o mapReduce, el campo informa el porcentaje de finalizaci贸n.

$currentOp.progress

Informes sobre el progreso de las operaciones de mapReduce o indexaci贸n. Los campos progress corresponden al porcentaje de finalizaci贸n del campo msg. El progress especifica la siguiente informaci贸n:

$currentOp.progress.done

Informa el n煤mero de elementos de trabajo completados.

$currentOp.progress.total

Informa el n煤mero total de elementos de trabajo.

$currentOp.killPending

Devuelve true si la operaci贸n est谩 actualmente marcada para su finalizaci贸n. Cuando la operaci贸n encuentre su siguiente punto seguro de terminaci贸n, la operaci贸n terminar谩.

$currentOp.waitingForFlowControl

Un valor booleano que indica si la operaci贸n tuvo que esperar debido al control de flujo.

Nuevo en la versi贸n 4.2.

$currentOp.flowControlStats

Las estad铆sticas de control de flujo para esta operaci贸n.

Nuevo en la versi贸n 4.2.

$currentOp.flowControlStats.acquireCount

El n煤mero de veces que esta operaci贸n adquiri贸 un ticket.

Nuevo en la versi贸n 4.2.

$currentOp.flowControlStats.acquireWaitCount

La cantidad de veces que esta operaci贸n esper贸 para adquirir un ticket.

Nuevo en la versi贸n 4.2.

$currentOp.flowControlStats.timeAcquiringMicros

El tiempo total que esta operaci贸n ha esperado para adquirir un ticket.

Nuevo en la versi贸n 4.2.

$currentOp.totalOperationTimeElapsed

El tiempo total transcurrido, en segundos, para la operaci贸n de re-sharding actual. El tiempo se establece en 0 cuando comienza una nueva operaci贸n de rehashing.

Solo est谩 presente si se est谩 realizando una operaci贸n de re-asignaci贸n de particiones.

Nuevo en la versi贸n 5.0.

$currentOp.remainingOperationTimeEstimated

El tiempo estimado restante, en segundos, para la operaci贸n de redistribuci贸n de particiones en curso. El tiempo se establece en -1 cuando se inicia una nueva operaci贸n de redistribuci贸n de particiones.

Solo est谩 presente cuando se est谩 realizando una operaci贸n de reparto.

Nuevo en la versi贸n 5.0.

$currentOp.approxDocumentsToCopy

El n煤mero aproximado de documentos que se copiar谩n desde las particiones donantes a las particiones destinatarias durante la operaci贸n de reasignaci贸n de particiones. Este n煤mero es una estimaci贸n que se establece al inicio de la operaci贸n de resharding y no cambia una vez que se haya establecido. El n煤mero se establece en 0 cuando comienza una nueva operaci贸n de redistribuci贸n de datos. Es posible que $currentOp.documentsCopied y $currentOp.bytesCopied acaben superando a $currentOp.approxDocumentsToCopy y $currentOp.approxBytesToCopy, respectivamente, si la distribuci贸n de datos posterior a la redistribuci贸n de particiones no es perfectamente uniforme.

Solo est谩 presente en una partici贸n receptora cuando se est谩 realizando una operaci贸n de redistribuci贸n de particiones.

Nuevo en la versi贸n 5.0.

$currentOp.documentsCopied

La cantidad de documentos copiados desde particiones donantes a particiones receptoras durante la operaci贸n de refragmentaci贸n. El n煤mero se establece en 0 cuando se inicia una nueva operaci贸n de cambio de partici贸n.

Solo est谩 presente en una partici贸n receptora cuando se est谩 realizando una operaci贸n de redistribuci贸n de particiones.

Nuevo en la versi贸n 5.0.

$currentOp.approxBytesToCopy

El n煤mero aproximado de bytes que se copiar谩n de las particiones donantes a las particiones receptoras durante la operaci贸n de reshardeo. Esta cifra es una estimaci贸n que se establece al inicio de la operaci贸n de reconfiguraci贸n y que no cambia despu茅s de haber sido definida. El n煤mero se establece en 0 cuando inicia una nueva operaci贸n de redistribuci贸n de shards. Es posible que $currentOp.documentsCopied y $currentOp.bytesCopied terminen superando $currentOp.approxDocumentsToCopy y $currentOp.approxBytesToCopy, respectivamente, si la distribuci贸n de datos posterior a la redistribuci贸n no es perfectamente uniforme.

Solo est谩 presente en una partici贸n receptora cuando se est谩 realizando una operaci贸n de redistribuci贸n de particiones.

Nuevo en la versi贸n 5.0.

$currentOp.bytesCopied

El n煤mero de bytes copiados de particiones donantes a particiones receptoras durante la operaci贸n de refragmentaci贸n. El n煤mero se establece en 0 cuando se inicia una nueva operaci贸n de reestructuraci贸n.

Solo est谩 presente en una partici贸n receptora cuando se est谩 realizando una operaci贸n de redistribuci贸n de particiones.

Nuevo en la versi贸n 5.0.

$currentOp.totalCopyTimeElapsed

El tiempo total transcurrido, en segundos, para las tareas en curso de copia de datos desde las particiones donantes a las particiones receptoras para la operaci贸n de redistribuci贸n actual. El tiempo se establece en 0 cuando comienza una nueva operaci贸n de reasignaci贸n de particiones.

Solo est谩 presente en una partici贸n receptora cuando se est谩 realizando una operaci贸n de redistribuci贸n de particiones.

Nuevo en la versi贸n 5.0.

$currentOp.oplogEntriesFetched

El n煤mero de entradas obtenidas del oplog para la operaci贸n de reestructuraci贸n actual. El n煤mero se pone a 0 cuando comienza una nueva operaci贸n de redistribuci贸n de datos.

Solo est谩 presente en una partici贸n receptora cuando se est谩 realizando una operaci贸n de redistribuci贸n de particiones.

Nuevo en la versi贸n 5.0.

$currentOp.oplogEntriesApplied

El n煤mero de entradas aplicadas al Oplog para la operaci贸n actual de re-sharding. El n煤mero se establece en 0 cuando comienza una nueva operaci贸n de cambiaci贸n de particiones.

Solo est谩 presente en una partici贸n receptora cuando se est谩 realizando una operaci贸n de redistribuci贸n de particiones.

Nuevo en la versi贸n 5.0.

$currentOp.totalApplyTimeElapsed

El tiempo total transcurrido, en segundos, para el paso de aplicar de la operaci贸n de redistribuci贸n actual. En el paso de aplicaci贸n, los fragmentos receptores aplican entradas de oplog para modificar sus datos bas谩ndose en nuevas escrituras entrantes de fragmentos donantes. El tiempo se ajusta a 0 cuando se inicia una nueva operaci贸n de redistribuci贸n.

Solo est谩 presente en una partici贸n receptora cuando se est谩 realizando una operaci贸n de redistribuci贸n de particiones.

Nuevo en la versi贸n 5.0.

$currentOp.countWritesDuringCriticalSection

El n煤mero de guardados realizados en la secci贸n cr铆tica para la operaci贸n de resegmentaci贸n actual. La secci贸n cr铆tica impide nuevas escrituras entrantes en la colecci贸n que se est谩 redistribuyendo actualmente. El n煤mero se establece en 0 cuando comienza una nueva operaci贸n de redistribuci贸n de particiones.

Solo est谩 presente en una partici贸n donante cuando se est谩 llevando a cabo una operaci贸n de reconstrucci贸n de particiones.

Nuevo en la versi贸n 5.0.

$currentOp.totalCriticalSectionTimeElapsed

El tiempo total transcurrido, en segundos, para la secci贸n cr铆tica de la operaci贸n de resharding actual. La secci贸n cr铆tica impide nuevas escrituras entrantes en la colecci贸n que est谩 siendo redistribuida actualmente. El tiempo se establece en 0 cuando inicia una nueva operaci贸n de redistribuci贸n de datos.

Solo est谩 presente en una partici贸n donante cuando se est谩 llevando a cabo una operaci贸n de reconstrucci贸n de particiones.

Nuevo en la versi贸n 5.0.

$currentOp.donorState

El estado actual de una partici贸n donante para la operaci贸n de nueva partici贸n. El estado se establece en unused cuando se inicia una nueva operaci贸n de re-shard.

Solo est谩 presente en una partici贸n donante cuando se est谩 llevando a cabo una operaci贸n de reconstrucci贸n de particiones.

Estado
Descripci贸n

unused

La operaci贸n de recrisprado est谩 a punto de comenzar o recuperarse de un traspaso primario.

preparing-to-donate

La partici贸n donante se est谩 preparando para donar datos a las particiones receptoras.

donating-initial-data

El fragmento donante est谩 transfiriendo datos a los fragmentos receptores.

donating-oplog-entries

La partici贸n donante est谩 donando entradas de oplog a las particiones receptoras.

preparing-to-block-writes

La partici贸n donante est谩 a punto de impedir nuevas operaciones de guardado en la colecci贸n que se est谩 redistribuyendo.

error

Se ha producido un error durante la operaci贸n de redistribuci贸n de fragmentos.

blocking-writes

La partici贸n donante est谩 impidiendo nuevas operaciones de guardado entrantes y ha notificado a todas las particiones receptoras que se han impedido nuevos guardados entrantes.

done

La partici贸n donante ha descartado la antigua colecci贸n particionada y la operaci贸n de redistribuci贸n ha finalizado.

Nuevo en la versi贸n 5.0.

$currentOp.recipientState

El estado actual de una partici贸n receptora para una operaci贸n de redistribuci贸n de particiones. El estado se establece en unused cuando se inicia una nueva operaci贸n de re-shard.

Solo est谩 presente en una partici贸n donante cuando se est谩 llevando a cabo una operaci贸n de reconstrucci贸n de particiones.

Estado
Descripci贸n

unused

La operaci贸n de recrisprado est谩 a punto de comenzar o recuperarse de un traspaso primario.

awaiting-fetch-timestamp

La partici贸n receptora est谩 esperando que las particiones donantes est茅n preparadas para donar sus datos.

creating-collection

La partici贸n receptora est谩 creando la nueva colecci贸n particionada.

cloning

La partici贸n receptora est谩 recibiendo datos de las particiones donantes.

applying

La partici贸n receptora est谩 aplicando entradas del oplog para modificar su copia de los datos en funci贸n de las nuevas operaciones de guardado entrantes de las particiones donantes.

error

Se produjo un error durante la operaci贸n de cambio de partici贸n.

strict-consistency

La partici贸n receptora tiene todos los cambios de datos almacenados en una colecci贸n temporal.

done

La operaci贸n de redistribuci贸n est谩 completa.

Nuevo en la versi贸n 5.0.

$currentOp.coordinatorState

El estado del coordinador de resharding para la operaci贸n de resharding actual. El coordinador de resharding es una operaci贸n que se ejecuta en el primario del servidor de configuraci贸n. El estado se establece en unused cuando una nueva operaci贸n de resharding comienza.

Solo est谩 presente en el servidor de configuraci贸n coordinador.

Estado
Descripci贸n

unused

La operaci贸n de recrisprado est谩 a punto de comenzar o recuperarse de un traspaso primario.

initializing

El coordinador de redistribuci贸n ha insertado el documento del coordinador en config.reshardingOperations y ha agregado el reshardingFields a la entrada config.collections para la colecci贸n original.

preparing-to-donate

El coordinador de redistribuci贸n

  • ha creado una entrada config.collections para la colecci贸n de redistribuci贸n temporal.

  • ha insertado entradas en config.chunks para los rangos basados en la nueva clave de partici贸n.

  • ha insertado entradas en config.tags para cualquier zona asociada con la nueva clave de partici贸n.

El coordinador informa a las particiones participantes que comiencen la operaci贸n de redistribuci贸n. A continuaci贸n, el coordinador espera hasta que todas las particiones donantes hayan elegido un minFetchTimestamp y est茅n listas para donar.

cloning

El coordinador de redistribuci贸n informa a las particiones donantes que deben donar datos a las particiones receptoras. El coordinador espera a que todas las particiones receptoras terminen de clonar los datos de la partici贸n donante.

applying

El coordinador de redistribuci贸n informa a las particiones receptoras que modifiquen sus copias de datos bas谩ndose en nuevos guardados entrantes de particiones donantes. El coordinador espera a que todas las particiones receptoras terminen de aplicar las entradas de oplog.

blocking-writes

El coordinador de redistribuci贸n informa a las particiones donantes que eviten que se vuelvan a redistribuir las nuevas operaciones de guardado entrantes a la colecci贸n. A continuaci贸n, el coordinador espera a que todas las particiones receptoras hayan recibido todos los cambios de datos.

aborting

Se produjo un error irrecuperable durante la operaci贸n de redistribuci贸n o se ejecut贸 el comando abortReshardCollection (o el m茅todo sh.abortReshardCollection()).

committing

El coordinador de redistribuci贸n remueve la entrada config.collections para la colecci贸n de redistribuci贸n temporal. A continuaci贸n, el coordinador agrega el recipientFields a la entrada de la colecci贸n de origen.

Nuevo en la versi贸n 5.0.

$currentOp.opStatus

El estado actual de una operaci贸n de resharding.

Solo presente si se est谩 realizando una operaci贸n de reconfiguraci贸n. Una vez que la operaci贸n se haya completado, se eliminar谩 la operaci贸n de la salida currentOp.

Estado
Descripci贸n

actively running

La operaci贸n de redistribuci贸n de particiones se est谩 ejecutando activamente.

success

La operaci贸n de resharding ha tenido 茅xito.

failure

La operaci贸n de redistribuci贸n de particiones ha fallado.

canceled

La operaci贸n de refactorizaci贸n fue cancelada.

Nuevo en la versi贸n 5.0.

Volver

$count

En esta p谩gina