Docs Menu
Docs Home
/ /
Puntos de conexión de API de mongosync

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.

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.

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.

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

mongosyncID

string

Cadena de identificador para la instancia mongosync.

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

Novedades en la versión 1.3.

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.

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

  • Al realizar una actualización en vivo desde una versión anterior a 1.8.0 o superior, los datos de la copia de colección se reinician desde [0 bytes copied / 1 bytes total]. Después de una actualización en vivo, /progress solo informa del progreso de los datos copiados una vez completada la actualización.

    Nota

    A partir mongosync 1.7.3 de, mongosync puede tardar al menos dos minutos en responder al reanudar o reiniciar una operación de sincronización. Durante este tiempo, cualquier llamada al punto final podría fallar. Si progress una progress llamada falla, es seguro volver a intentarlo.

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"
},
"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