mongosync. Consulte a documentação atual para obter orientações atualizadas sobre mongosync e instruções sobre como atualizar para a versão mais recente.Descrição
Retorna um status atualizado do processo de sincronização ou um erro.
Solicitar
GET /api/v1/progress
Resposta
O endpoint progress retorna um status atualizado ou um erro.
Resposta bem-sucedida
O objeto de resposta contém 2 campos de nível superior, success e progress.
O campo success contém o status do comando progress. O valor é true se o comando for bem-sucedido e false se o comando falhar.
Se mongosync obter com êxito o status do processo de sincronização, todos os campos de resposta serão agrupados no objeto progress de nível superior com os seguintes campos:
Campo | Tipo | Descrição |
|---|---|---|
| string | O estado atual de |
| booleano | Se |
| booleano | Se A validação do índice continua até que o commit seja concluído. |
| string | Fornece informações adicionais sobre o progresso da sincronização. Os possíveis valores de
|
| inteiro | Diferença de tempo, em segundos, entre o último carimbo de data/hora do evento que
Devido às constantes no-ops no cluster de origem, a diferença de tempo geralmente é de alguns segundos acima de zero, mesmo que não haja gravações reais no cluster de origem. A diferença de tempo se torna zero quando Com a introdução do verificador incorporado na versão 1.9, há três campos
Quando a verificação incorporada está desativada, |
| inteiro | O número aproximado de eventos de alteração que esta instância de Esse valor pode não ser uma representação precisa do número total de eventos porque não é persistente e omite determinados eventos da contagem. |
| objeto | Estima a quantidade total de dados que estão sendo copiados de collection e a quantidade que já foi copiada para o cluster de destino |
| inteiro | Número total estimado de bytes a serem copiados globalmente por todas as instâncias
|
| inteiro | Número estimado de bytes que foram copiados para o cluster de destino por essa instância Para calcular o progresso total estimado como uma porcentagem, adicione o valor do campo O valor de |
| objeto | Descreve a direção de mapeamento para a sincronização, ou seja, os clusters de origem e destino. |
| string | cluster de origem. Retornado no formulário |
| string | Cluster de destino. Retornado no formulário |
| string | string identificador para a instância Novidade na versão 1.3. |
| string | string identificador para a instância do coordenador.
Novidade na versão 1.3. |
| documento | Fornece informações sobre a fase e o progresso das verificações de verificação realizadas pelo verificador incorporado. Novidades na versão 1.9. |
| documento | Fornece informações sobre a fase e o progresso das verificações de verificação em execução no cluster de origem. Novidades na versão 1.9. |
| inteiro | Número estimado de documentos no cluster de origem. Novidades na versão 1.9. |
| inteiro | Número de documentos hash pelo verificador no cluster de origem. Novidades na versão 1.9. |
| inteiro | Tempo em segundos após a última verificação ser realizada no cluster de origem. Novidades na versão 1.9. |
| string | Fase atual do processo de verificação no cluster de origem. Pode ser um dos três valores:
Se o verificador precisar reanalisar uma collection, ele poderá voltar para a fase Novidades na versão 1.9. |
| inteiro | Número de collections verificadas pelo verificador embarcado no cluster de origem. Novidades na versão 1.9. |
| inteiro | Número de collections no cluster de origem a serem incluídas nas verificações de verificação. |
| documento | Fornece informações sobre a fase e o progresso das verificações em execução no cluster de destino. Novidades na versão 1.9. |
| inteiro | Número estimado de documentos no cluster de destino. Novidades na versão 1.9. |
| inteiro | Número de documentos hash pelo verificador no cluster de destino. Novidades na versão 1.9. |
| inteiro | Tempo em segundos desde a última verificação realizada no cluster de destino. Novidades na versão 1.9. |
| string | Fase atual do processo de verificação no cluster de destino. Pode ser um dos três valores:
Se o verificador precisar reanalisar uma collection, ele poderá voltar para a fase Novidades na versão 1.9. |
| inteiro | Número de collections verificadas pelo verificador embarcado no cluster de destino. Novidades na versão 1.9. |
| inteiro | Número de collections no cluster de destino a serem incluídas nas verificações de verificação. Novidades na versão 1.9. |
Resposta de erro
Se mongosync encontrar um erro, o endpoint progress retornará os seguintes campos:
Campo | Tipo | Descrição |
|---|---|---|
| booleano | Status do comando |
| string | Tipo de erro. |
| string | Descrição detalhada do erro. |
Comportamento
Quando
mongosyncestá no estadoIDLE, todos os campos de saída, excetostateecanCommit, sãonull.Quando
mongosyncestá no estadoPAUSED, o campolagTimeSecondsénull.O endpoint não é atualizado automaticamente. Para obter o status atualizado, chame o endpoint
progressnovamente.Chamadas para
/progressantesmongosyncchegar à fase de cópia da coleção retornam 0 paraestimatedCopiedBytese 1 paraestimatedTotalBytes.estimatedTotalBytespode mudar ao longo da fase de cópia da coleção se documentos forem inseridos ou excluídos no cluster de origem.estimatedCopiedBytesnunca é maior queestimatedTotalBytes. O progresso atinge 100% no final da fase de cópia da coleção (estimatedCopiedBytes=estimatedTotalBytes).Ao executar uma atualização ao vivo de uma versão anterior para 1.8.0 ou superior, os dados de cópia da coleção começam a partir de
[0 bytes copied / 1 bytes total]. Após uma atualização em tempo real,/progresssó informa o progresso dos dados copiados após a conclusão da atualização.Observação
A partir de
mongosync1.7.3,mongosyncpode levar pelo menos dois minutos para responder quando você retoma ou reinicia uma operação de sincronização. Durante esse tempo, qualquer chamada para o endpointprogresspode falhar. Se uma chamadaprogressfalhar, é seguro tentar novamente.
Proteção de endpoint
mongosync não protege o endpoint progress . No entanto, por padrão, a API é vinculada apenas ao host local e não aceita chamadas de outras fontes. Além disso, a chamada progress não expõe credenciais de conexão ou dados de usuário.
Exemplo
O exemplo a seguir retorna o status do processo de sincronização.
Solicitar
curl localhost:27182/api/v1/progress -XGET
Resposta
{ "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 }