Menu Docs
Página inicial do Docs
/
Sincronização de Cluster-to-Cluster do MongoDB
/ /

progress

Nesta página

  • Descrição
  • Solicitar
  • Resposta
  • Resposta bem-sucedida
  • Resposta de erro
  • Comportamento
  • Proteção de endpoint
  • Exemplo
  • Solicitar
  • Resposta

Retorna um status atualizado do processo de sincronização ou um erro.

GET /api/v1/progress

O endpoint progress retorna um status atualizado ou um erro.

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

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
state
string
O estado atual de mongosync. Para obter informações sobre os estados possíveis, consulteDescrições de estado do .
canCommit
booleano
Se true, indica que uma solicitação de confirmação será bem-sucedida. Isso também significa que a sincronização inicial foi concluída e está aplicando eventos de alteração.
canWrite
booleano

Se true, indica que as gravações são permitidas no cluster de destino. Não grave no cluster de destino enquanto canWrite estiver false.

A validação do índice continua até que o commit seja concluído.

info
string

Fornece informações adicionais sobre o progresso da sincronização. Os possíveis valores de info incluem:

  • "collection copy"

  • "change event application"

  • "waiting for commit to complete"

  • "commit completed"

lagTimeSeconds
inteiro

Diferença de tempo, em segundos, entre o último carimbo de data/hora do evento que mongosync aplicou ao cluster de destino e o último carimbo de data/hora no cluster de origem para essa instância de mongosync.

mongosync executa gravações periódicas no-op no cluster de origem, o que pode impedir que o valor do campo lagTimeSeconds chegue a zero até que mongosync confirme a migração.

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 mongosync confirma a migração.

totalEventsApplied
inteiro

O número aproximado de eventos de alteração que esta instância de mongosync aplicou ao cluster de destino.

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.

collectionCopy
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
collectionCopy .estimatedTotalBytes
inteiro

Número total estimado de bytes a serem copiados globalmente por todas as instâncias mongosync durante a cópia inicial da collection.

mongosync aproxima o número total estimado de bytes antes da migração e não atualiza esse valor durante o processo de sincronização. Esse valor não reflete as alterações feitas no cluster de origem durante a sincronização e não é um indicador preciso do progresso da migração.

collectionCopy .estimatedCopiedBytes
inteiro

Número estimado de bytes que foram copiados para o cluster de destino por essa instância mongosync durante a cópia inicial de collection.

Para calcular o progresso total estimado como uma porcentagem, adicione o valor do campo estimatedCopiedBytes para cada instância mongosync e divida o resultado pelo valor do campo estimatedTotalBytes . Em seguida, multiplique o resultado por 100.

O valor de estimatedCopiedBytes pode ser maior que o valor de estimatedTotalBytes devido às operações repetidas. Uma comparação de estimatedTotalBytes e estimatedCopiedBytes não é um indicador preciso do progresso da migração.

directionMapping
objeto
Descreve a direção de mapeamento para a sincronização, ou seja, os clusters de origem e destino.
directionMapping .Source
string
cluster de origem. Retornado no formulário <cluster name>: <host>:<port>.
directionMapping .Destination
string
Cluster de destino. Retornado no formulário <cluster name>: <host>:<port>.
mongosyncID
string

string identificador para a instância mongosync .

Novidade na versão 1.3.

coordinatorID
string

string identificador para a instância do coordenador.

  • Quando o mongosync é coordenado por outra instância, este campo mostra a string do identificador para a instância do coordenador.

  • Quando mongosync é um coordenador ou executa sozinho, este campo retorna o mesmo valor que seu campo mongosyncID .

  • Quando mongosync inicia, este campo retorna null até que mongosync identifique o coordenador.

Novidade na versão 1.3.

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

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

verification.source. estimatedDocumentCount
inteiro

Número estimado de documentos no cluster de origem.

Novidades na versão 1.9.

verification.source. hashedDocumentCount
inteiro

Número de documentos hash pelo verificador no cluster de origem.

Novidades na versão 1.9.

verification.source. lagTimeSeconds
inteiro

Tempo em segundos após a última verificação ser realizada no cluster de origem.

Novidades na versão 1.9.

verification.source. phase
string

Fase atual do processo de verificação no cluster de origem.

Novidades na versão 1.9.

verification.source. scannedCollectionCount
inteiro

Número de collections verificadas pelo verificador embarcado no cluster de origem.

Novidades na versão 1.9.

verification.source. totalCollectionCount
inteiro
Número de collections no cluster de origem a serem incluídas nas verificações de verificação.
verification.destination
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.

verification.destination. estimatedDocumentCount
inteiro

Número estimado de documentos no cluster de destino.

Novidades na versão 1.9.

verification.destination. hashedDocumentCount
inteiro

Número de documentos hash pelo verificador no cluster de destino.

Novidades na versão 1.9.

verification.destination. lagTimeSeconds
inteiro

Tempo em segundos desde a última verificação realizada no cluster de destino.

Novidades na versão 1.9.

verification.destination. phase
string

Fase atual do processo de verificação no cluster de destino.

Novidades na versão 1.9.

verification.destination. scannedCollectionCount
inteiro

Número de collections verificadas pelo verificador embarcado no cluster de destino.

Novidades na versão 1.9.

verification.destination. totalCollectionCount
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.

Se mongosync encontrar um erro, o endpoint progress retornará os seguintes campos:

Campo
Tipo
Descrição
success
booleano
Status do comando progress . O valor é true se o comando for bem-sucedido e false se o comando falhar.
error
string
Tipo de erro.
errorDescription
string
Descrição detalhada do erro.
  • Quando mongosync está no estado IDLE , todos os campos de saída, exceto state e canCommit , são null.

  • Quando mongosync está no estado PAUSED , o campo lagTimeSeconds é null.

  • O endpoint não é atualizado automaticamente. Para obter o status atualizado, chame o endpoint progress novamente.

  • Chamadas para /progress antes mongosync chegar à fase de cópia da coleção retornam 0 para estimatedCopiedBytes e 1 para estimatedTotalBytes.

  • estimatedTotalBytes pode mudar ao longo da fase de cópia da coleção se documentos forem inseridos ou excluídos no cluster de origem.

  • estimatedCopiedBytes nunca é maior que estimatedTotalBytes. 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, /progress só informa o progresso dos dados copiados após a conclusão da atualização.

    Observação

    A partir de mongosync 1.7.3, mongosync pode 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 endpoint progress pode falhar. Se uma chamada progress falhar, é seguro tentar novamente.

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.

O exemplo a seguir retorna o status do processo de sincronização.

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
}

Voltar

iniciar