Docs Menu
Docs Home
/ /

progress

Devuelve un estado actualizado del proceso de sincronización o un error.

GET /api/v1/progress

El punto final progress devuelve un estado actualizado o un error.

El objeto de respuesta contiene 2 campos de nivel superior, success y progress.

El campo success contiene el estado del comando progress. El valor es true si el comando se ejecuta correctamente y false si falla.

Si mongosync obtiene exitosamente el estado del proceso de sincronización, todos los campos de respuesta se envuelven en el objeto de nivel superior progress con los siguientes campos:

Campo
Tipo
Descripción

state

string

El estado actual de mongosync. Para obtener información sobre los posibles estados, consulte Descripciones de estados.

canCommit

booleano

trueSi, indica que la solicitud de confirmación se realizará correctamente. Esto también significa que:

  • La sincronización inicial se ha completado y está aplicando eventos de cambio.

  • El verificador incorporado está en un estado apropiado para la confirmación.

Si establece buildIndexes en "afterDataCopy" o "excludeHashedAfterCopy" al llamar start a, {canCommit: true} también indica que las compilaciones de índices están completas.

canWrite

booleano

Si true, indica que se permite la escritura en el clúster de destino. No escribas en el clúster de destino mientras canWrite es false.

La validación del índice continúa hasta que se completa la confirmación.

indexBuilding

Objeto

Muestra el progreso en tiempo real de la compilación de índices en el clúster de destino si se establece buildIndexes en afterDataCopy o excludeHashedAfterCopy al llamar start a. Este objeto solo se muestra durante la fase de aplicación del evento de cambio.

IMPORTANTE: Debido a que mongosync crea índices para las colecciones más grandes primero, el porcentaje de índices creados podría no corresponder linealmente al porcentaje de tiempo transcurrido.

indexBuilding.indexesBuilt

entero

El número de índices que mongosync ha terminado de construir.

indexBuilding.totalIndexesToBuild

entero

El número total de índices que mongosync necesita construir, incluidos aquellos que ha terminado de construir.

indexBuilding.collectionsFinished

entero

La cantidad de colecciones para las que mongosync ha completado la creación de índices.

indexBuilding.collectionsTotal

entero

El número total de colecciones para las que mongosync necesita crear índices, incluidas aquellas que se han completado.

info

string

Proporciona información adicional sobre el progreso de la sincronización. Los posibles valores info incluyen:

  • "collection copy"

  • "change event application"

  • "waiting for commit to complete"

  • "commit completed"

lagTimeSeconds

entero

Diferencia de tiempo en segundos entre la última marca de tiempo del evento que mongosync se aplicó al clúster de destino y la última marca de tiempo en el clúster de origen para esta instancia de mongosync.

mongosync realiza escrituras periódicas sin operación en el clúster de origen, lo que puede evitar que el valor del campo lagTimeSeconds llegue a cero hasta que mongosync confirme la migración.

Debido a las constantes interrupciones de operaciones en el clúster de origen, la diferencia horaria suele ser de unos segundos por encima de cero, incluso si no hay escrituras reales en el clúster de origen. La diferencia horaria se vuelve cero cuando mongosync confirma la migración.

Con la introducción del verificador integrado en la 1.9 versión, hay tres lagTimeSeconds campos diferentes siempre que se habilita la verificación integrada:

  • lagTimeSeconds para mongosync

  • lagTimeSeconds para el clúster de origen para el verificador

  • lagTimeSeconds para el clúster de destino para el verificador

Cuando la verificación incorporada está deshabilitada, lagTimeSeconds solo se aplica a mongosync.

totalEventsApplied

entero

La cantidad aproximada de eventos de cambio que esta instancia de mongosync ha aplicado al clúster de destino.

Es posible que este valor no sea una representación precisa del número total de eventos porque no se conserva y omite ciertos eventos del recuento.

collectionCopy

Objeto

Calcula la cantidad total de datos que se copian de las colecciones y la cantidad que ya se ha copiado al clúster de destino.

collectionCopy .estimatedTotalBytes

entero

Número total estimado de bytes que se copiarán globalmente por todas las instancias mongosync durante la copia inicial de colecciones.

mongosync Se aproxima al número total estimado de bytes antes de la migración y no actualiza este valor durante el proceso de sincronización. Este valor no refleja los cambios realizados en el clúster de origen durante la sincronización y no es un indicador preciso del progreso de la migración.

collectionCopy .estimatedCopiedBytes

entero

Número estimado de bytes que se han copiado al clúster de destino por esta instancia mongosync durante la copia inicial de colecciones.

Para calcular el progreso total estimado como porcentaje, sume el valor del campo estimatedCopiedBytes para cada instancia mongosync y divida el resultado entre el valor del campo estimatedTotalBytes. Luego, multiplique el resultado por 100.

El valor de estimatedCopiedBytes podría ser mayor que el de estimatedTotalBytes debido a operaciones reintentadas. Comparar estimatedTotalBytes y estimatedCopiedBytes no es un indicador preciso del progreso de la migración.

destination. pingLatencyMs

entero

Proporciona la última latencia de ping conocida, en milisegundos, desde mongosync hasta el clúster de destino. Este campo se actualiza cada 30 segundos mientras la replicación está en curso y se informa en la respuesta. Si la latencia es inferior a 1 milisegundos o mongosync aún no ha realizado el ping, este campo no está disponible. Este campo tiene un valor de -1 si el último intento de ping falló.

Nuevo en la versión 1.17.

directionMapping

Objeto

Describe la dirección de mapeo para la sincronización, es decir, los clústeres de origen y destino.

directionMapping .Source

string

Clúster de origen. Se devuelve en el formato <cluster name>: <host>:<port>.

directionMapping .Destination

string

Clúster de destino. Se devuelve con el formato <cluster name>: <host>:<port>.

estimatedOplogTimeRemaining

string

Muestra una estimación del tiempo de registro de operaciones disponible en el clúster de origen. Los valores posibles incluyen una duración (por ejemplo, "12 hours", "4 hours" o "45 minutes") y casos especiales como "more than 72 hours", "less than 15 minutes" y "not checked yet".

mongosync calcula estimatedOplogTimeRemaining como la ventana de tiempo entre la entrada de oplog más antigua disponible en el clúster de origen y la entrada de oplog más antigua que mongosync aún necesita completarse exitosamente. mongosync actualiza este valor cada cinco minutos.

IMPORTANTE: Si aumenta el tamaño del registro de operaciones en el clúster de origen, estimatedOplogTimeRemaining es posible que no aumente inmediatamente. A medida que mongosync procesa el registro de operaciones de origen, la ventana de registro de operaciones disponible suele aumentar.

mongosync informa estimatedOplogTimeRemaining solo mientras verifica el tiempo de registro de operaciones. mongosync incluye este campo solo cuando está en el estado RUNNING y solo antes de que el punto final /progress devuelva canWrite=true.

Nuevo en la versión 1.19.

estimatedSecondsToCEACatchup

entero

Tiempo estimado en segundos restante en la fase de aplicación de evento de cambio (CEA), basado en cuánto lagTimeSeconds ha disminuido en un intervalo reciente.

/progress No se informa estimatedSecondsToCEACatchup si mongosync no está en CEA o si lagTimeSeconds ha aumentado o se ha mantenido igual durante el intervalo más reciente. En este caso, espere 30 minutos y vuelva a intentarlo.

Nuevo en la versión 1.14.

mongosyncID

string

Cadena de identificador para la instancia mongosync.

Nuevo en la versión 1.3.

coordinatorID

string

Cadena de identificador para la instancia del coordinador.

  • Cuando mongosync está coordinado por otra instancia, este campo muestra la cadena de identificación de la instancia coordinadora.

  • Cuando mongosync es un coordinador o se ejecuta solo, este campo devuelve el mismo valor que su campo mongosyncID.

  • Cuando se inicia mongosync, este campo devuelve null hasta que mongosync identifica al coordinador.

Nuevo en la versión 1.3.

source. pingLatencyMs

entero

Proporciona la última latencia de ping conocida, en milisegundos, desde mongosync hasta el clúster de origen. Este campo se actualiza cada 30 segundos mientras la replicación está en curso y se informa en la respuesta. Si la latencia es inferior a 1 milisegundos o mongosync aún no ha realizado el ping, este campo no está disponible. Este campo tiene un valor de -1 si el último intento de ping falló.

Nuevo en la versión 1.17.

verification

Documento

Proporciona información sobre la fase y el progreso de las comprobaciones de verificación realizadas por el verificador integrado.

Nuevo en la versión 1.9.

verification.source

Documento

Proporciona información sobre la fase y el progreso de las comprobaciones de verificación que se ejecutan en el clúster de origen.

Nuevo en la versión 1.9.

verification.source. estimatedDocumentCount

entero

Número estimado de documentos en el clúster de origen.

Nuevo en la versión 1.9.

verification.source. hashedDocumentCount

entero

Número de documentos procesados ​​por el verificador en el clúster de origen.

Nuevo en la versión 1.9.

verification.source. lagTimeSeconds

entero

Tiempo en segundos después de que se realizó la última verificación en el clúster de origen.

Nuevo en la versión 1.9.

verification.source. phase

string

Fase actual del proceso de verificación en el clúster de origen. Puede tener uno de estos tres valores:

  • "not started":El verificador no ha iniciado ningún análisis de recopilación inicial para este clúster.

  • "initial hashing":El verificador está realizando su escaneo inicial para al menos una colección en el clúster.

  • "stream hashing":El verificador ha finalizado su escaneo inicial para el clúster y ahora está siguiendo su flujo de cambios.

Si el verificador necesita volver a escanear una colección, puede volver a la fase "initial hashing" incluso si el punto final informó previamente la fase "stream hashing".

Nuevo en la versión 1.9.

verification.source. scannedCollectionCount

entero

Número de colecciones escaneadas por el verificador integrado en el clúster de origen.

Nuevo en la versión 1.9.

verification.source. totalCollectionCount

entero

Número de colecciones en el clúster de origen que se incluirán en las comprobaciones de verificación.

verification.destination

Documento

Proporciona información sobre la fase y el progreso de las comprobaciones de verificación que se ejecutan en el clúster de destino.

Nuevo en la versión 1.9.

verification.destination. estimatedDocumentCount

entero

Número estimado de documentos en el clúster de destino.

Nuevo en la versión 1.9.

verification.destination. hashedDocumentCount

entero

Cantidad de documentos encriptados por el verificador en el clúster de destino.

Nuevo en la versión 1.9.

verification.destination. lagTimeSeconds

entero

Tiempo en segundos desde la última verificación realizada en el clúster de destino.

Nuevo en la versión 1.9.

verification.destination. phase

string

Fase actual del proceso de verificación en el clúster de destino. Puede tener uno de estos tres valores:

  • "not started":El verificador no ha iniciado ningún análisis de recopilación inicial para este clúster.

  • "initial hashing":El verificador está realizando su escaneo inicial para al menos una colección en el clúster.

  • "stream hashing":El verificador ha finalizado su escaneo inicial para el clúster y ahora está siguiendo su flujo de cambios.

Si el verificador necesita volver a escanear una colección, puede volver a la fase "initial hashing" incluso si el punto final informó previamente la fase "stream hashing".

Nuevo en la versión 1.9.

verification.destination. scannedCollectionCount

entero

Número de colecciones escaneadas por el verificador integrado en el clúster de destino.

Nuevo en la versión 1.9.

verification.destination. totalCollectionCount

entero

Número de colecciones en el clúster de destino que se incluirán en las comprobaciones de verificación.

Nuevo en la versión 1.9.

warnings

matriz de cadenas

Mensajes de advertencia que mongosync detecta. Si mongosync no detecta ninguna advertencia, omite este campo.

Si el tiempo restante estimado del registro de operaciones es muy bajo, mongosync añade una advertencia que describe el problema y enlaza a la documentación. Por ejemplo:

"warnings": [
"The amount of available oplog on the source cluster is too small for mongosync to complete successfully.
For more details, see https://www.mongodb.com/es/docs/cluster-to-cluster-sync/current/reference/oplog-sizing/."
]

Para obtener más detalles, consulte el registro de operaciones Dimensionamiento.

Nuevo en la versión 1.19.

Si mongosync encuentra un error, el punto final progress devuelve los siguientes campos:

Campo
Tipo
Descripción

success

booleano

Estado del comando progress. El valor es true si el comando tiene éxito y false si falla.

error

string

Tipo de error.

errorDescription

string

Descripción detallada del error.

  • Cuando mongosync está en el estado IDLE, todos los campos de salida excepto state y canCommit son null.

  • Cuando mongosync está en el estado PAUSED, el campo lagTimeSeconds es null.

  • El endpoint no se actualiza automáticamente. Para obtener el estado actualizado, llama nuevamente al endpoint progress.

  • Las llamadas a /progress antes de que mongosync llegue a la fase de copia de colección devuelven 0 para estimatedCopiedBytes y 1 para estimatedTotalBytes.

  • estimatedTotalBytes puede cambiar durante la fase de copia de colección si se insertan o eliminan documentos en el clúster de origen.

  • estimatedCopiedBytes nunca es mayor que estimatedTotalBytes. El progreso alcanza el 100% al final de la fase de copia de colección (estimatedCopiedBytes = estimatedTotalBytes).

mongosync No protege el punto final progress. Sin embargo, por defecto, la API se vincula únicamente al host local y no acepta llamadas de otras fuentes. Además, la llamada progress no expone las credenciales de conexión ni los datos del usuario.

El siguiente ejemplo devuelve el estado del proceso de sincronización.

curl localhost:27182/api/v1/progress -XGET
{
"progress":
{
"state":"RUNNING",
"canCommit":true,
"canWrite":false,
"info":"change event application",
"lagTimeSeconds":0,
"collectionCopy":
{
"estimatedTotalBytes":694,
"estimatedCopiedBytes":694
},
"directionMapping":
{
"Source":"cluster0: localhost:27017",
"Destination":"cluster1: localhost:27018"
},
"source":
{
"pingLatencyMs":250
},
"destination":
{
"pingLatencyMs":-1
},
"verification":
{
"source":
{
"estimatedDocumentCount": 42,
"hashedDocumentCount": 42,
"lagTimeSeconds": 2,
"totalCollectionCount": 42,
"scannedCollectionCount": 10,
"phase": "stream hashing"
},
"destination": {
"estimatedDocumentCount": 42,
"hashedDocumentCount": 42,
"lagTimeSeconds": 2,
"totalCollectionCount": 42,
"scannedCollectionCount": 10,
"phase": "stream hashing"
}
}
},
"success": true
}

Volver

Inicio

En esta página