Definición
replSetGetStatusEl comando
replSetGetStatusdevuelve el estado del conjunto de réplicas desde el punto de vista del servidor que procesó el comando.replSetGetStatusdebe ejecutarse en el base de datos de administración.La instancia debe ser un miembro del conjunto de réplicas
mongodparareplSetGetStatuspara regresar exitosamente.Los datos proporcionados por este comando se derivan de los datos incluidos en los latidos enviados al servidor por otros miembros del conjunto de réplicas. Debido a la frecuencia de los latidos, estos datos pueden tener una demora de varios segundos.
Tip
mongoshEn, este comando también se puede ejecutar a través del métodors.status()auxiliar.Los métodos asistente son convenientes para usuarios de
mongosh, pero es posible que no proporcionen el mismo nivel de información que los comandos de base de datos. En los casos en que no se necesite la conveniencia o se requieran campos de retorno adicionales, utiliza el comando de base de datos.
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
Importante
Este comando no es compatible con los clústeres M0 y Flex. Para obtener más información, consulta Comandos no compatibles.
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( { replSetGetStatus: 1 } )
Si ejecuta replSetGetStatus o el asistente en mongosh un miembro durante rs.status() su sincronización inicial (es decir, estado), STARTUP2 replSetGetStatus.initialSyncStatus el comando devuelve métricas.
Una vez que el miembro completa la sincronización inicial y pasa a otro estado, las métricas ya no están replSetGetStatus.initialSyncStatus disponibles.
Nota
Si initialized aún no ha configurado su réplica, el replSetGetStatus comando devuelve el siguiente error:
MongoServerError: no replset config has been received
Ejecute el comando e inténtelo replSetInitiate nuevamente.
Ejemplo
El siguiente ejemplo ejecuta el comando replSetGetStatus en la base de datos de administración del conjunto de réplicas principal:
db.adminCommand( { replSetGetStatus: 1 } )
El comando devuelve la siguiente salida para un conjunto de réplicas de ejemplo principal:
{ "set" : "replset", "date" : ISODate("2024-08-15T23:06:13.978Z"), "myState" : 1, "term" : Long(3), "syncSourceHost" : "", "syncSourceId" : -1, "heartbeatIntervalMillis" : Long(2000), "majorityVoteCount" : 2, "writeMajorityCount" : 2, "votingMembersCount" : 3, "writableVotingMembersCount" : 3, "optimes" : { "lastCommittedOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "lastCommittedWallTime" : ISODate("2024-08-15T23:06:13.978Z"), "readConcernMajorityOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "appliedOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "writtenOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "durableOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "lastAppliedWallTime" : ISODate("2024-08-15T23:06:13.978Z"), "lastWrittenWallTime" : ISODate("2024-08-15T23:06:13.978Z"), "lastDurableWallTime" : ISODate("2024-08-15T23:06:13.978Z") }, "lastStableRecoveryTimestamp" : Timestamp(1723763173, 1), "electionCandidateMetrics" : { "lastElectionReason" : "stepUpRequestSkipDryRun", "lastElectionDate" : ISODate("2024-08-15T23:06:13.978Z"), "electionTerm" : Long(3), "lastCommittedOpTimeAtElection" : { "ts" : Timestamp(1723763173, 1), "t" : Long(2) }, "lastSeenOpTimeAtElection" : { "ts" : Timestamp(1723763173, 1), "t" : Long(2) }, "lastSeenWrittenOpTimeAtElection" : { "ts" : Timestamp(1723763173, 1), "t" : Long(1) }, "numVotesNeeded" : 2, "priorityAtElection" : 1, "electionTimeoutMillis" : Long(10000), "priorPrimaryMemberId" : 1, "numCatchUpOps" : Long(0), "newTermStartDate" : ISODate("2024-08-15T23:06:13.978Z"), "wMajorityWriteAvailabilityDate" : ISODate("2024-08-15T23:06:13.978Z") }, "electionParticipantMetrics" : { "votedForCandidate" : true, "electionTerm" : Long(2), "lastVoteDate" : ISODate("2024-08-15T23:06:13.978Z"), "electionCandidateMemberId" : 1, "voteReason" : "", "lastAppliedOpTimeAtElection" : { "ts" : Timestamp(1723763173, 1), "t" : Long(1) }, "lastWrittenOpTimeAtElection" : { "ts" : Timestamp(1723763173, 1), "t" : Long(1) }, "maxAppliedOpTimeInSet" : { "ts" : Timestamp(1723763173, 1), "t" : Long(1) }, "priorityAtElection" : 1 }, "members" : [ { "_id" : 0, "name" : "m1.example.net:27017", "health" : 1, "state" : 1, "stateStr" : "PRIMARY", "uptime" : 269, "optime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeWritten" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeDurable" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeDate" : ISODate("2024-08-15T23:06:13.978Z"), "optimeWrittenDate" : ISODate("2024-08-15T23:06:13.978Z"), "lastAppliedWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastWrittenWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastDurableWallTime": ISODate("2024-08-15T23:06:13.978Z"), "syncSourceHost" : "", "syncSourceId" : -1, "infoMessage" : "", "electionTime" : Timestamp(1723763173, 1), "electionDate" : ISODate("2024-08-15T23:06:13.978Z"), "configVersion" : 1, "configTerm" : 0, "self" : true, "lastHeartbeatMessage" : "" }, { "_id" : 1, "name" : "m2.example.net:27017", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 266, "optime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeWritten" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeDurable" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeDate" : ISODate("2024-08-15T23:06:13.978Z"), "optimeWrittenDate" : ISODate("2024-08-15T23:06:13.978Z"), "optimeDurableDate" : ISODate("2024-08-15T23:06:13.978Z"), "lastAppliedWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastWrittenWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastDurableWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastHeartbeat" : ISODate("2024-08-15T23:06:13.978Z"), "lastHeartbeatRecv" : ISODate("2024-08-15T23:06:13.978Z"), "pingMs" : Long(0), "lastHeartbeatMessage" : "", "syncSourceHost" : "m3.example.net:27017", "syncSourceId" : 2, "infoMessage" : "", "configVersion" : 1 }, { "_id" : 2, "name" : "m3.example.net:27017", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 266, "optime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeWritten" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeDurable" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeDate" : ISODate("2024-08-15T23:06:13.978Z"), "optimeWrittenDate" : ISODate("2024-08-15T23:06:13.978Z"), "optimeDurableDate" : ISODate("2024-08-15T23:06:13.978Z"), "lastAppliedWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastWrittenWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastDurableWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastHeartbeat" : ISODate("2024-08-15T23:06:13.978Z"), "lastHeartbeatRecv" : ISODate("2024-08-15T23:06:13.978Z"), "pingMs" : Long(0), "lastHeartbeatMessage" : "", "syncSourceHost" : "m1.example.net:27017", "syncSourceId" : 0, "infoMessage" : "", "configVersion" : 1 } ], "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp(1723763173, 1), "signature" : { "hash" : BinData(0,"9C2qcGVkipEGJW3iF90qxb/gIwc="), "keyId" : Long("6800589497806356482") } }, "operationTime" : Timestamp(1723763173, 1) }
El siguiente ejemplo ejecuta el comando replSetGetStatus en la base de datos de administración del conjunto de réplicas secundario:
db.adminCommand( { replSetGetStatus: 1 } )
El comando devuelve la siguiente salida para un conjunto de réplicas de ejemplo secundario:
{ "set" : "replset", "date" : ISODate("2024-08-15T23:06:13.978Z"), "myState" : 2, "term" : Long(3), "syncSourceHost" : "m3.example.net:27017", "syncSourceId" : 2, "heartbeatIntervalMillis" : Long(2000), "majorityVoteCount" : 2, "writeMajorityCount" : 2, "votingMembersCount" : 3, "writableVotingMembersCount" : 3, "optimes" : { "lastCommittedOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "lastCommittedWallTime" : ISODate("2024-08-15T23:06:13.978Z"), "readConcernMajorityOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "appliedOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "writtenOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "durableOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "lastAppliedWallTime" : ISODate("2024-08-15T23:06:13.978Z"), "lastWrittenWallTime" : ISODate("2024-08-15T23:06:13.978Z"), "lastDurableWallTime" : ISODate("2024-08-15T23:06:13.978Z") }, "lastStableRecoveryTimestamp" : Timestamp(1723763173, 1), "electionParticipantMetrics" : { "votedForCandidate" : true, "electionTerm" : Long(3), "lastVoteDate" : ISODate("2024-08-15T23:06:13.978Z"), "electionCandidateMemberId" : 0, "voteReason" : "", "lastAppliedOpTimeAtElection" : { "ts" : Timestamp(1723763173, 1), "t" : Long(2) }, "lastWrittenOpTimeAtElection" : { "ts" : Timestamp(1723763173, 1), "t" : Long(1) }, "maxAppliedOpTimeInSet" : { "ts" : Timestamp(1723763173, 1), "t" : Long(2) }, "maxWrittenOpTimeInSet" : { "ts" : Timestamp(1723763173, 1), "t" : Long(1) }, "priorityAtElection" : 1, "newTermStartDate" : ISODate("2024-08-15T23:06:13.978Z"), "newTermAppliedDate" : ISODate("2024-08-15T23:06:13.978Z") }, "members" : [ { "_id" : 0, "name" : "m1.example.net:27017", "health" : 1, "state" : 1, "stateStr" : "PRIMARY", "uptime" : 407, "optime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeWritten" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeDurable" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeDate" : ISODate("2024-08-15T23:06:13.978Z"), "optimeWrittenDate" : ISODate("2024-08-15T23:06:13.978Z"), "optimeDurableDate" : ISODate("2024-08-15T23:06:13.978Z"), "lastAppliedWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastWrittenWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastDurableWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastHeartbeat" : ISODate("2024-08-15T23:06:13.978Z"), "lastHeartbeatRecv" : ISODate("2024-08-15T23:06:13.978Z"), "pingMs" : Long(0), "lastHeartbeatMessage" : "", "syncSourceHost" : "", "syncSourceId" : -1, "infoMessage" : "", "electionTime" : Timestamp(1723763173, 1), "electionDate" : ISODate("2024-08-15T23:06:13.978Z"), "configVersion" : 1 }, { "_id" : 1, "name" : "m2.example.net:27017", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 409, "optime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeWritten" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeDurable" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeDate" : ISODate("2024-08-15T23:06:13.978Z"), "optimeWrittenDate" : ISODate("2024-08-15T23:06:13.978Z"), "lastAppliedWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastWrittenWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastDurableWallTime": ISODate("2024-08-15T23:06:13.978Z"), "syncSourceHost" : "m3.example.net:27017", "syncSourceId" : 2, "infoMessage" : "", "configVersion" : 1, "configTerm" : 0, "self" : true, "lastHeartbeatMessage" : "" }, { "_id" : 2, "name" : "m3.example.net:27017", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 407, "optime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeWritten" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeDurable" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeDate" : ISODate("2024-08-15T23:06:13.978Z"), "optimeWrittenDate" : ISODate("2024-08-15T23:06:13.978Z"), "optimeDurableDate" : ISODate("2024-08-15T23:06:13.978Z"), "lastAppliedWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastWrittenWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastDurableWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastHeartbeat" : ISODate("2024-08-15T23:06:13.978Z"), "lastHeartbeatRecv" : ISODate("2024-08-15T23:06:13.978Z"), "pingMs" : Long(0), "lastHeartbeatMessage" : "", "syncSourceHost" : "m1.example.net:27017", "syncSourceId" : 0, "infoMessage" : "", "configVersion" : 1 } ], "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp(1723763173, 1), "signature" : { "hash" : BinData(0,"kmhE5YARZlzn/DX4B/D0E5P6okY="), "keyId" : Long("6800589497806356482") } }, "operationTime" : Timestamp(1723763173, 1), }
- En versiones anteriores (3.6.x-4.2.0).
Puede incluir el opcional
initialSync: 1para incluir el en la salida (puede omitirlo si no desea devolver el estado de sincronizaciónreplSetGetStatus.initialSyncStatusinicial):db.adminCommand( { replSetGetStatus: 1, initialSync: 1 } )
- A partir de MongoDB 5.2,
- el documento
replSetGetStatus.initialSyncStatuscontiene campos adicionales cuando se utiliza una sincronización inicial basada en copias de archivos.
Si ejecuta en un miembro durante replSetGetStatus replSetGetStatus.initialSyncStatus su sincronización inicial, el comando devuelve métricas.
db.adminCommand( { replSetGetStatus: 1 } )
Una vez que el miembro completa la sincronización inicial y pasa a otro estado, las métricas ya no están replSetGetStatus.initialSyncStatus disponibles.
El siguiente ejemplo ejecuta el comando replSetGetStatus en la base de datos de administración del 4.4 miembro del conjunto de réplicas durante su sincronización inicial:
{ "set" : "replset", "date" : ISODate("2024-08-15T23:06:13.978Z") "myState" : 5, "term" : Long(1), "syncSourceHost" : "m1.example.net:27017", "syncSourceId" : 0, "heartbeatIntervalMillis" : Long(2000), "majorityVoteCount" : 2, "writeMajorityCount" : 2, "votingMembersCount" : 2, "writableVotingMembersCount" : 2, "optimes" : { "lastCommittedOpTime" : { "ts" : Timestamp(0, 0), "t" : Long(-1) }, "lastCommittedWallTime" : ISODate("1970-01-01T00:00:00Z"), "appliedOpTime" : { "ts" : Timestamp(0, 0), "t" : Long(-1) }, "writtenOpTime": { "ts" : Timestamp(0, 0), "t" : Long(-1) }, "durableOpTime" : { "ts" : Timestamp(0, 0), "t" : Long(-1) }, "lastAppliedWallTime" : ISODate("1970-01-01T00:00:00Z"), "lastWrittenWallTime": ISODate("1970-01-01T00:00:00Z"), "lastDurableWallTime" : ISODate("1970-01-01T00:00:00Z") }, "lastStableRecoveryTimestamp" : Timestamp(0, 0), "initialSyncStatus" : { "failedInitialSyncAttempts" : 0, "maxFailedInitialSyncAttempts" : 10, "initialSyncStart" : ISODate("2024-08-15T23:06:13.978Z"), "initialSyncAttempts" : [ ], "appliedOps" : 0, "initialSyncOplogStart" : Timestamp(1723763173, 1), "syncSourceUnreachableSince" : ISODate("2024-08-15T23:06:13.978Z"), "currentOutageDurationMillis" : Long(8687), "totalTimeUnreachableMillis" : Long(8687), "databases" : { "databasesCloned" : 3, "admin" : { "collections" : 4, "clonedCollections" : 4, "start" : ISODate("2024-08-15T23:06:13.978Z"), "end" : ISODate("2024-08-15T23:06:13.978Z"), "elapsedMillis" : 429, "admin.system.roles" : { "documentsToCopy" : 22, "documentsCopied" : 22, "indexes" : 2, "fetchedBatches" : 1, "start" : ISODate("2024-08-15T23:06:13.978Z"), "end" : ISODate("2024-08-15T23:06:13.978Z"), "elapsedMillis" : 138, "receivedBatches" : 1 }, "admin.system.users" : { "documentsToCopy" : 32, "documentsCopied" : 32, "indexes" : 2, "fetchedBatches" : 1, "start" : ISODate("2024-08-15T23:06:13.978Z"), "end" : ISODate("2024-08-15T23:06:13.978Z"), "elapsedMillis" : 149, "receivedBatches" : 1 }, "admin.system.keys" : { "documentsToCopy" : 2, "documentsCopied" : 2, "indexes" : 1, "fetchedBatches" : 1, "start" : ISODate("2024-08-15T23:06:13.978Z"), "end" : ISODate("2024-08-15T23:06:13.978Z"), "elapsedMillis" : 76, "receivedBatches" : 1 }, "admin.system.version" : { "documentsToCopy" : 2, "documentsCopied" : 2, "indexes" : 1, "fetchedBatches" : 1, "start" : ISODate("2024-08-15T23:06:13.978Z"), "end" : ISODate("2024-08-15T23:06:13.978Z"), "elapsedMillis" : 66, "receivedBatches" : 1 } }, "config" : { "collections" : 2, "clonedCollections" : 2, "start" : ISODate("2024-08-15T23:06:13.978Z"), "end" : ISODate("2024-08-15T23:06:13.978Z"), "elapsedMillis" : 198, "config.transactions" : { "documentsToCopy" : 0, "documentsCopied" : 0, "indexes" : 1, "fetchedBatches" : 0, "start" : ISODate("2024-08-15T23:06:13.978Z"), "end" : ISODate("2024-08-15T23:06:13.978Z"), "elapsedMillis" : 74, "receivedBatches" : 0 }, "config.system.sessions" : { "documentsToCopy" : 0, "documentsCopied" : 0, "indexes" : 2, "fetchedBatches" : 0, "start" : ISODate("2024-08-15T23:06:13.978Z"), "end" : ISODate("2024-08-15T23:06:13.978Z"), "elapsedMillis" : 124, "receivedBatches" : 0 } }, "test" : { "collections" : 1, "clonedCollections" : 1, "start" : ISODate("2024-08-15T23:06:13.978Z"), "end" : ISODate("2024-08-15T23:06:13.978Z"), "elapsedMillis" : 47967, "test.hugeindex" : { "documentsToCopy" : 25000, "documentsCopied" : 25000, "indexes" : 2, "fetchedBatches" : 21, "start" : ISODate("2024-08-15T23:06:13.978Z"), "end" : ISODate("2024-08-15T23:06:13.978Z"), "elapsedMillis" : 47967, "receivedBatches" : 21 } } } }, "members" : [ { "_id" : 0, "name" : "m1.example.net:27017", "health" : 0, "state" : 8, "stateStr" : "(not reachable/healthy)", "uptime" : 0, "optime" : { "ts" : Timestamp(0, 0), "t" : Long(-1) }, "optimeWritten" : { "ts" : Timestamp(0, 0), "t" : Long(-1) }, "optimeDurable" : { "ts" : Timestamp(0, 0), "t" : Long(-1) }, "optimeDate" : ISODate("1970-01-01T00:00:00Z"), "optimeWrittenDate" : ISODate("1970-01-01T00:00:00Z"), "optimeDurableDate" : ISODate("1970-01-01T00:00:00Z"), "lastAppliedWallTime": ISODate("1970-01-01T00:00:00Z"), "lastWrittenWallTime": ISODate("1970-01-01T00:00:00Z"), "lastDurableWallTime": ISODate("1970-01-01T00:00:00Z""), "lastHeartbeat" : ISODate("2024-08-15T23:06:13.978Z"), "lastHeartbeatRecv" : ISODate("2024-08-15T23:06:13.978Z"), "pingMs" : Long(0), "lastHeartbeatMessage" : "Error connecting to m1.example.net:27017 (127.0.0.1:27018) :: caused by :: Connection refused", "syncSourceHost" : "", "syncSourceId" : -1, "infoMessage" : "", "configVersion" : 2 }, { "_id" : 1, "name" : "m2.example.net:27017", "health" : 1, "state" : 5, "stateStr" : "STARTUP2", "uptime" : 5297, "optime" : { "ts" : Timestamp(0, 0), "t" : Long(-1) }, "optimeWritten" : { "ts" : Timestamp(0, 0), "t" : Long(-1) }, "optimeDurable" : { "ts" : Timestamp(0, 0), "t" : Long(-1) }, "optimeDate" : ISODate("1970-01-01T00:00:00Z"), "optimeWrittenDate" : ISODate("1970-01-01T00:00:00Z"), "lastAppliedWallTime": ISODate("1970-01-01T00:00:00Z"), "lastWrittenWallTime": ISODate("2020-03-05T05:24:38Z"), "lastDurableWallTime": ISODate("1970-01-01T00:00:00Z"), "syncSourceHost" : "m1.example.net:27017", "syncSourceId" : 0, "infoMessage" : "", "configVersion" : 2, "configTerm" : 1, "self" : true, "lastHeartbeatMessage" : "" } ], "ok" : 1 }
Salida
El comando replSetGetStatus devuelve un documento con los siguientes campos:
replSetGetStatus.setEl
setvalor es el nombre del conjunto de réplicas, configurado en la configuración. Es el mismo valorreplSetNameque_idrs.conf()en.
replSetGetStatus.dateFecha y hora con formato ISODate que contiene la hora actual según el servidor que procesó el comando replSetGetStatus. Compárelo con los valores de para determinar la latencia operativa entre este servidor y los demás miembros del conjunto de
replSetGetStatus.members[n].lastHeartbeatréplicas.
replSetGetStatus.myStateUn número entero entre
0y10que representa el estado de la réplica del miembro actual.
replSetGetStatus.termEl recuento de elecciones del conjunto de réplicas, tal como lo conoce este miembro.
termEl algoritmo de consenso distribuido utiliza el valor para garantizar la corrección.
replSetGetStatus.syncSourceHostEl campo contiene el nombre de host del miembro desde el cual se sincroniza esta
syncSourceHostinstancia.Si esta instancia es primaria,
syncSourceHostes una cadena vacía y elsyncSourceId-1.
replSetGetStatus.syncSourceIdEl campo
syncSourceIdreplSetGetStatus.members[n]._idcontiene el del miembro desde el cual se sincroniza esta instancia.Si esta instancia es primaria,
syncSourceHostes una cadena vacía y elsyncSourceId-1.
replSetGetStatus.majorityVoteCountEl número de votos mayoritarios necesarios para elegir una nueva primaria en una elección.
replSetGetStatus.writeMajorityCountNúmero de miembros con derecho a voto que contienen datos (es decir, no árbitros) necesarios para cumplir con
"majority"la solicitud de escritura. Las escrituras solo se pueden aplicar a miembros con derecho a voto.Para el cálculo de, consulte Cálculo
replSetGetStatus.writeMajorityCountde la mayoría para asuntos de escritura.
replSetGetStatus.votingMembersCountEl número de miembros configurados con, incluidos los
votes: 1árbitros.
replSetGetStatus.writableVotingMembersCountLa cantidad de miembros portadores de datos configurados con (esto no incluye a
votes: 1los árbitros).
replSetGetStatus.optimesEl
optimescampo contiene un documento con las optimizaciones utilizadas para inspeccionar el progreso de la replicación. Eloptimescampo incluye las cadenas de fecha con formato ISODate correspondientes a las distintas optimizaciones.Cada valor de optime es un documento que contiene:
ts, la marca de tiempo de la operación.t, el en el que se generó originalmente la operación en eltermprimario.
replSetGetStatus.optimes.lastCommittedOpTimeInformación, desde el punto de vista de este miembro, sobre la operación más reciente que se ha escrito a la mayoría de los miembros del conjunto de réplicas.
replSetGetStatus.optimes.lastCommittedWallTimeLa cadena de fecha con formato ISODate correspondiente
lastCommittedOpTimea.
replSetGetStatus.optimes.readConcernMajorityOpTimeInformación, desde el punto de vista de este miembro, respecto de la operación más reciente que puede cumplir con las consultas de lectura
"majority"; es decir, la más recientelastCommittedOpTimeque puede cumplir con las consultas"majority".readConcernMajorityOpTimees menor o igual quelastCommittedOpTime.
replSetGetStatus.optimes.appliedOpTimeInformación, desde el punto de vista de este miembro, sobre la operación más reciente que se ha aplicado a este miembro del conjunto de réplicas.
replSetGetStatus.optimes.lastAppliedWallTimeLa cadena de fecha con formato ISODate correspondiente
appliedOpTimea.
replSetGetStatus.optimes.durableOpTimeInformación, desde el punto de vista de este miembro, respecto de la operación más reciente que se ha escrito en el diario de este miembro del conjunto de réplicas.
replSetGetStatus.optimes.lastDurableWallTimeLa cadena de fecha con formato ISODate correspondiente
durableOpTimea.
replSetGetStatus.optimes.lastWrittenWallTimeLa cadena de fecha con formato ISODate de la entrada más reciente escrita en el registro de operaciones de este miembro.
Nuevo en la versión 8.0.
replSetGetStatus.optimes.writtenOpTimeEl tiempo óptimo de la entrada más reciente escrita en el oplog de este miembro.
Nuevo en la versión 8.0.
replSetGetStatus.electionCandidateMetricsMétricas relacionadas con las elecciones primarias actuales.
electionCandidateMetricssolo está disponible para las primarias o para un candidato. En el caso de un candidato, las métricas no están disponibles después de que este pierda las elecciones.replSetGetStatus.electionCandidateMetrics.lastElectionReasonMotivo por el cual el miembro convocó la elección.
replSetGetStatus.electionCandidateMetrics.lastElectionDateLa fecha y hora en que el miembro convocó la elección.
replSetGetStatus.electionCandidateMetrics.electionTermEl recuento de elecciones del miembro (es decir,) en el momento en que se convocó la nueva
termelección.
replSetGetStatus.electionCandidateMetrics.lastCommittedOpTimeAtElectionEl más reciente, según lo vio este miembro, en el momento de llamar a la nueva
majority-committed optimeelección.
replSetGetStatus.electionCandidateMetrics.lastSeenOpTimeAtElectionLa última
applied optimedel nodo en el momento en que invocó la nueva elección.
replSetGetStatus.electionCandidateMetrics.lastSeenWrittenOpTimeAtElectionLa hora óptima de la entrada más reciente escrita en el oplog de este miembro en el momento en que convocó la nueva elección.
Nuevo en la versión 8.0.
replSetGetStatus.electionCandidateMetrics.numVotesNeededEl número de votos necesarios para ganar la elección.
replSetGetStatus.electionCandidateMetrics.priorityAtElectionEl miembro en el momento de convocar la
priorityelección.
replSetGetStatus.electionCandidateMetrics.electionTimeoutMillisLa configuración del conjunto de réplicas en el momento de la
electionTimeoutMilliselección.
replSetGetStatus.electionCandidateMetrics.priorPrimaryMemberIdEl del valor principal anterior. Si no hay ningún valor principal anterior, el campo no está
members[n]._idpresente.
replSetGetStatus.electionCandidateMetrics.targetCatchupOpTimeEl tiempo de operación objetivo de la primaria recién elegida para su proceso de recuperación. Solo cuando la primaria recién elegida alcanza el tiempo de operación objetivo de recuperación, puede empezar a aceptar escrituras.
replSetGetStatus.electionCandidateMetrics.numCatchUpOpsEl número de operaciones aplicadas por las primarias recién elegidas a medida que concluye con éxito su proceso de recuperación.
replSetGetStatus.electionCandidateMetrics.newTermStartDateLa fecha y hora en que comenzó el mandato del miembro como principal (es decir, la fecha y hora en que se escribió una entrada
new termen el registro de operaciones).
replSetGetStatus.electionCandidateMetrics.wMajorityWriteAvailabilityDateLa fecha y hora en que la preocupación de escritura
"majority"estuvo disponible después de la elección para el conjunto de réplicas (la fecha y hora en que lanew termentrada del registro de operaciones fue confirmada mayoritariamente).
replSetGetStatus.electionParticipantMetricsMétricas relacionadas con la última elección en la que participó el miembro.
replSetGetStatus.electionParticipantMetrics.votedForCandidateUn valor booleano que indica si el miembro votó por el candidato que convoca la elección.
replSetGetStatus.electionParticipantMetrics.electionTermEl término de la elección en la que participó el miembro. Este término identifica la elección asociada con las métricas del participante.
replSetGetStatus.electionParticipantMetrics.lastVoteDateUna cadena de fecha con formato ISODate que registra cuándo votó el participante.
replSetGetStatus.electionParticipantMetrics.electionCandidateMemberIdEl del candidato que convoca la
members[n]._idelección.
replSetGetStatus.electionParticipantMetrics.voteReasonEl motivo del voto si el miembro no votó por el candidato. Si el miembro votó por el candidato, el valor es una cadena vacía.
replSetGetStatus.electionParticipantMetrics.lastAppliedOpTimeAtElectionEl último tiempo óptimo aplicado por este miembro en el momento de la última elección.
El valor optime es un documento que contiene la
tsmarca de tiempo () y el términot().
replSetGetStatus.electionParticipantMetrics.lastWrittenOpTimeAtElectionLa hora óptima de la entrada más reciente escrita en el oplog de este miembro en el momento de la última elección.
Nuevo en la versión 8.0.
replSetGetStatus.electionParticipantMetrics.maxAppliedOpTimeInSetEl tiempo óptimo aplicado más reciente para cualquier miembro del conjunto de réplicas, según lo conoce este miembro.
replSetGetStatus.electionParticipantMetrics.maxWrittenOpTimeInSetEl optime de la entrada más reciente registrada en el oplog de cualquier miembro del conjunto de réplicas, según lo conoce este miembro.
Nuevo en la versión 8.0.
replSetGetStatus.electionParticipantMetrics.priorityAtElectionEl número
prioritydel miembro en el momento de la elección.
replSetGetStatus.electionParticipantMetrics.newTermStartDateLa fecha y hora en la que comenzó el término del nodo primario elegido; esto corresponde al momento en que el nodo primario guardó la entrada
new termen su oplog y no cuando se agregó la entrada (es decir, se replicó) en el oplog del nodo secundario.Este campo solo está disponible para miembros secundarios. Para los miembros principales,
replSetGetStatus.electionCandidateMetrics.newTermStartDateconsulte.
replSetGetStatus.initialSyncStatusUn documento que proporciona información sobre el progreso y el estado de la sincronización inicial de este miembro.
Importante
Disponibilidad
replSetGetStatus.initialSyncStatusLas métricas solo están disponibles cuando se ejecutan en un miembro durante su sincronización inicial (es decir,STARTUP2estado).replSetGetStatus.initialSyncStatus.failedInitialSyncAttemptsLa cantidad de veces que falló la sincronización inicial y tuvo que reiniciarse en este miembro.
replSetGetStatus.initialSyncStatus.maxFailedInitialSyncAttemptsLa cantidad máxima de veces que se puede reiniciar la sincronización inicial en este miembro antes de que se apague.
replSetGetStatus.initialSyncStatus.initialSyncStartLa marca de tiempo de inicio de la sincronización inicial para este miembro.
replSetGetStatus.initialSyncStatus.initialSyncEndLa marca de tiempo final de la sincronización inicial para este miembro.
replSetGetStatus.initialSyncStatus.initialSyncElapsedMillisEl número de milisegundos entre
initialSyncStarty.initialSyncEnd
replSetGetStatus.initialSyncStatus.initialSyncAttemptsMatriz de documentos donde cada uno corresponde a un único intento de sincronización inicial. Por ejemplo:
"initialSyncAttempts" : [ { "durationMillis" : 59539, "status" : "InvalidOptions: error fetching oplog during initial sync :: caused by :: Error while getting the next batch in the oplog fetcher :: caused by :: readConcern afterClusterTime value must not be greater than the current clusterTime. Requested clusterTime: { ts: Timestamp(0, 1) }; current clusterTime: { ts: Timestamp(0, 0) }", "syncSource" : "m1.example.net:27017", "rollBackId" : 1, "operationsRetried" : 120, "totalTimeUnreachableMillis" : 52601 } ], Cada documento contiene la siguiente información para el intento de sincronización inicial:
CampoDescripciónduraciónMillis
Duración en milisegundos del intento de sincronización inicial.
Estado
Estado de salida del intento de sincronización inicial.
syncSource
Fuente de sincronización para el intento de sincronización inicial.
rollBackId
Identificador de reversión de la fuente de sincronización al comienzo del intento de sincronización inicial.
rollBackIdno aparece al usar sincronización inicial basada en copiado de archivos.operacionesReintentadas
Número total de todos los intentos de reintento de operación.
totalTimeUnreachableMillis
Tiempo total empleado en intentos de operación de reintento.
replSetGetStatus.initialSyncStatus.appliedOpsLa cantidad de operaciones que ocurrieron después de que se inició la sincronización inicial y se aplicaron después de clonar las bases de datos.
Como parte del proceso de sincronización inicial, el miembro utiliza el registro de operaciones para actualizar su conjunto de datos para reflejar el estado actual del conjunto de réplicas.
replSetGetStatus.initialSyncStatus.initialSyncOplogStartLa marca de tiempo de inicio de la etapa de aplicación del Oplog de la sincronización inicial, donde el miembro aplica los cambios que ocurrieron después del inicio de la sincronización inicial.
Como parte del proceso de sincronización inicial, el miembro utiliza el registro de operaciones para actualizar su conjunto de datos para reflejar el estado actual del conjunto de réplicas.
replSetGetStatus.initialSyncStatus.initialSyncOplogEndLa marca de tiempo final de la etapa de aplicación del registro de operaciones de la sincronización inicial donde el miembro aplica los cambios que ocurrieron después del inicio de la sincronización inicial.
Como parte del proceso de sincronización inicial, el miembro utiliza el registro de operaciones para actualizar su conjunto de datos para reflejar el estado actual del conjunto de réplicas.
replSetGetStatus.initialSyncStatus.syncSourceUnreachableSinceLa fecha y hora en que la fuente de sincronización dejó de estar disponible.
Solo está presente si la fuente de sincronización no está disponible durante la sincronización inicial actual.
replSetGetStatus.initialSyncStatus.currentOutageDurationMillisEl tiempo en milisegundos que la fuente de sincronización estuvo indisponible.
Solo está presente si la fuente de sincronización no está disponible durante la sincronización inicial actual.
replSetGetStatus.initialSyncStatus.totalTimeUnreachableMillisEl tiempo total en milisegundos que el miembro no estuvo disponible durante la sincronización inicial actual.
replSetGetStatus.initialSyncStatus.databasesDetalles sobre las bases de datos clonadas durante la sincronización inicial.
replSetGetStatus.initialSyncStatus.databases.databasesClonedNúmero de bases de datos clonadas durante la sincronización inicial.
replSetGetStatus.initialSyncStatus.databases.<dbname>Para cada base de datos, un documento que devuelve información sobre el progreso de la clonación de esa base de datos.
{ "collections" : <number of collections to clone in the database>, "clonedCollections" : <number of collections cloned to date>, "start" : <start date and time for the database clone>, "end" : <end date and time for the database clone>, "elapsedMillis" : <duration of the database clone>, "<db>.<collection>" : { "documentsToCopy" : <number of documents to copy>, "documentsCopied" : <number of documents copied to date>, "indexes" : <number of indexes>, "fetchedBatches" : <number of batches of documents fetched to date>, "start" : <start date and time for the collection clone>, "end" : <end date and time for the collection clone>, "elapsedMillis" : <duration of the collection clone>, "receivedBatches" : <number of batches of documents received to date> } }
replSetGetStatus.initialSyncStatus.methodNuevo en la versión 5.2.
El método utilizado para la sincronización inicial.
Si se establece
logicalen, la sincronización es una sincronización inicial lógica. Si se establecefileCopyBaseden, la sincronización es una sincronización inicial basada en la copia de archivos.
replSetGetStatus.initialSyncStatus.approxTotalDataSizeEl tamaño aproximado (en bytes) de todos los archivos que se sincronizarán.
Este campo aparece cuando se utiliza la sincronización inicial basada en copia lógica o de archivos.
replSetGetStatus.initialSyncStatus.approxTotalBytesCopiedEl total de bytes ya copiados.
Este campo aparece cuando se utiliza la sincronización inicial basada en copia lógica o de archivos.
replSetGetStatus.initialSyncStatus.totalInitialSyncElapsedMillisEl tiempo total transcurrido para el intento de sincronización en progreso.
Este campo aparece cuando se utiliza la sincronización inicial basada en copia lógica o de archivos.
replSetGetStatus.initialSyncStatus.remainingInitialSyncEstimatedMillisEl tiempo restante esperado para el intento de sincronización en progreso.
Este campo aparece cuando se utiliza la sincronización inicial basada en copia lógica o de archivos.
replSetGetStatus.initialSyncStatus.initialBackupDataSizeEl tamaño total (en bytes) del conjunto inicial de archivos que se sincronizarán.
Este campo solo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.
replSetGetStatus.initialSyncStatus.previousOplogEndEl tiempo óptimo disponible en el cursor de copia de seguridad anterior.
Este campo solo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.
replSetGetStatus.initialSyncStatus.currentOplogEndEl último tiempo óptimo garantizado que estará disponible en el cursor de respaldo actual.
Este campo solo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.
replSetGetStatus.initialSyncStatus.syncSourceLastAppliedEl tiempo óptimo de la última actualización aplicada en la fuente de sincronización antes del inicio de este cursor de respaldo.
Este campo solo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.
replSetGetStatus.initialSyncStatus.numExtensionsLa cantidad de veces que la sincronización ha iniciado un nuevo cursor de respaldo.
Este campo no aparece si no se ha iniciado un cursor de respaldo.
Este campo solo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.
replSetGetStatus.initialSyncStatus.extensionDataSizeEl total de bytes en la extensión actual.
Este campo no aparece si no hay ninguna extensión en curso.
Este campo solo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.
replSetGetStatus.initialSyncStatus.filesUna matriz de archivos que se sincronizarán durante la sincronización inicial basada en copia de archivos.
Este campo solo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.
replSetGetStatus.initialSyncStatus.files[n].filePathLa ruta del archivo relativa a la raíz del cursor de copia de seguridad.
Este campo solo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.
replSetGetStatus.initialSyncStatus.files[n].fileSizeEl tamaño del archivo según lo informado por el cursor de respaldo.
Este campo solo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.
replSetGetStatus.initialSyncStatus.files[n].bytesCopiedEl número de bytes copiados hasta ahora.
Este campo solo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.
replSetGetStatus.initialSyncStatus.files[n].extensionNumberEl número de la extensión a la que pertenece el archivo si este archivo es parte de una extensión.
Este campo solo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.
replSetGetStatus.membersEl campo
memberscontiene una matriz que contiene un documento para cada miembro del conjunto de réplicas.replSetGetStatus.members[n].ipLa dirección IP resuelta del miembro. Si el no
mongodreplSetGetStatus.members[n].namepuede resolver el a una dirección IP, el valor de retorno es un valor BSON nulo. De lo contrario, el valor de retorno es una representación de cadena de la dirección IP resuelta.
replSetGetStatus.members[n].selfUn valor booleano que indica si el miembro es la instancia
mongodactual.El campo
selfsolo se incluye en el documento para la instancia actualmongody, como tal, su valor siempre estrue.
replSetGetStatus.members[n].healthUn número que indica si el miembro está activo (
1) o inactivo (0).
replSetGetStatus.members[n].stateUn número entero entre
0y10que representa el estado de réplica del miembro.
replSetGetStatus.members[n].stateStrUna cadena que
statedescribe.
replSetGetStatus.members[n].uptimePara el miembro en el que
replSetGetStatusse ejecuta el comando, es el número de segundos queuptimeel miembro ha estado en línea.Para los demás miembros, es la cantidad de segundos que el miembro ha
uptimereplSetGetStatusestado en comunicación continua con el miembro en el que se ejecutó el comando.
replSetGetStatus.members[n].optimeInformación sobre la última operación del registro de operaciones que este miembro ha aplicado.
optimedevuelve un documento que contiene:ts, la marca de tiempo de la última operación aplicada a este miembro del conjunto de réplicas desde el registro de operaciones.t, el en el que se generó originalmente la última operación aplicada en eltermprimario.
replSetGetStatus.members[n].optimeDurableInformación sobre la última operación del registro de operaciones que este miembro ha aplicado a su diario.
optimeDurabledevuelve un documento que contiene:ts, la marca de tiempo de la operación.t, el en el que se generó originalmente esta operación en eltermprimario.
replSetGetStatus.members[n].optimeDateUna cadena de fecha con formato ISODate que contiene la última entrada del registro de operaciones que este miembro aplicó. Si difiere significativamente de,
lastHeartbeateste miembro experimenta un retraso en la replicacióno no se han realizado nuevas operaciones desde la última actualización. Comparemembers.optimeDatecon todos los miembros del conjunto.
replSetGetStatus.members[n].optimeDurableDateUna cadena de fecha con formato ISODate que contiene la última entrada del registro de operaciones que este miembro aplicó a su diario.
replSetGetStatus.members[n].lastAppliedWallTimeUna cadena de fecha con formato ISODate que refleja la hora del reloj de pared en la que se aplicó la última operación aplicada por este miembro del conjunto de réplicas en el nodo principal.
replSetGetStatus.members[n].lastDurableWallTimeUna cadena de fecha con formato ISODate que refleja la hora del reloj de pared en la que se aplicó por primera vez en el nodo principal la última operación escrita en el diario de este miembro.
replSetGetStatus.members[n].electionTimePara las primarias actuales, información sobre la marca de tiempo de la elección del registro de operaciones. Consulte Alta disponibilidad del conjunto de réplicas para obtener más información sobre las elecciones.
replSetGetStatus.members[n].electionDatePara las primarias actuales, una cadena de fecha con formato ISODate que contiene la fecha de la elección. Consulte Alta disponibilidad del conjunto de réplicas para obtener más información sobre las elecciones.
replSetGetStatus.members[n].lastHeartbeatFecha y hora con formato ISODate que contiene la última vez que el servidor que procesó el comando replSetGetStatus recibió una respuesta de un latido enviado a este miembro
members[n](). Compare este valor con los valores de losdatelastHeartbeatRecvcampos y para rastrear la latencia entre estos miembros del conjunto de réplicas.Este valor solo está disponible para miembros del conjunto de réplicas distintos del servidor especificado
replSetGetStatus.members[n].selfpor.
replSetGetStatus.members[n].lastHeartbeatRecvFecha y hora con formato ISODate que contiene la última vez que el servidor que procesó el comando replSetGetStatus recibió una solicitud de latido de este miembro ().
members[n]Compare este valor con los valores de losdatecampos y para rastrear la latencia entre estos miembros del conjunto de réplicas.lastHeartbeatEste valor solo está disponible para miembros del conjunto de réplicas distintos del servidor especificado
replSetGetStatus.members[n].selfpor.
replSetGetStatus.members[n].lastHeartbeatMessageCuando el último latido incluyó un mensaje adicional, contiene una representación de cadena de ese
lastHeartbeatMessagemensaje.
replSetGetStatus.members[n].pingMspingMsrepresenta la cantidad de milisegundos (ms) que tarda un paquete de ida y vuelta en viajar entre el miembro remoto y la instancia local.Este valor no aparece para el miembro que devuelve los
rs.status()datos.
replSetGetStatus.members[n].syncSourceHostEl campo contiene el nombre de host del miembro desde el cual se sincroniza esta
syncSourceHostinstancia.Si es
replSetGetStatus.members[n]un valor primario,syncSourceHostes una cadena vacíasyncSourceId-1y.
replSetGetStatus.members[n].syncSourceIdEl campo
syncSourceIdcontiene el valorreplSetGetStatus.members[n]._iddesyncSourceHost.Si es
replSetGetStatus.members[n]un valor primario,syncSourceHostes una cadena vacíasyncSourceId-1y.
replSetGetStatus.members[n].configVersionEl
configVersionvalorreplica set configuration versiones.
replSetGetStatus.members[n].optimeWrittenEl tiempo óptimo de la entrada más reciente escrita en el registro de operaciones del miembro.
Nuevo en la versión 8.0.
replSetGetStatus.members[n].optimeWrittenDateLa cadena de fecha con formato ISODate de la entrada más reciente escrita en el registro de operaciones del miembro.
Nuevo en la versión 8.0.
replSetGetStatus.members[n].lastWrittenWallTimeLa cadena de fecha con formato ISODate del momento en que se escribió la entrada de registro de operaciones más reciente para este miembro en el servidor principal.
Nuevo en la versión 8.0.
replSetGetStatus.tooStaleUn valor booleano que indica que un miembro del conjunto de réplicas se ha retrasado demasiado respecto al registro de operaciones principal y se encuentra bloqueado en el
RECOVERINGestado. Este campo solo se incluye en lareplSetGetStatussalida si su valortruees.
Consulte también Respuesta para obtener detalles sobre el ok campo de estado, el operationTime campo y el campo.$clusterTime
replSetGetStatus.optimePresente tras la eliminación de un miembro del conjunto de réplicas. Indica el tiempo óptimo de la última entrada del registro de operaciones aplicada por el miembro eliminado.
replSetGetStatus.optimeDateAparece después de la eliminación de un nodo del set de réplicas. Proporciona la string con formato ISODate del optime de la última entrada del oplog aplicada por el nodo removido.
replSetGetStatus.optimeWrittenPresente tras la eliminación de un miembro del conjunto de réplicas. Indica el tiempo óptimo de la última entrada escrita en el registro de operaciones del miembro eliminado.
Nuevo en la versión 8.0.
replSetGetStatus.optimeWrittenDatePresente tras la eliminación de un miembro del conjunto de réplicas. Proporciona la cadena con formato ISODate del tiempo óptimo de la última entrada escrita en el registro de operaciones del miembro eliminado.
Nuevo en la versión 8.0.