246 SnapshotUnavailable: SnapshotUnavailable
MongoDBO que significa?
Uma leitura com o read concern de snapshot solicitado (readConcern: snapshot) não pôde ser executada porque o servidor não consegue fornecer um snapshot consistente para aquele momento. Geralmente está relacionado a um timestamp de leitura que não avançou o suficiente ou ficou para trás.
Por que acontece?
readConcern 'snapshot' é usado (principalmente em transações multidocumento), mas uma visão consistente para o timestamp atLeast/at solicitado ainda não está disponível; por exemplo, uma coleção/índice recém-criado, uma mudança no catálogo ou lag de replicação. Nesse caso, o servidor rejeita a leitura.
Como resolver
Geralmente é transitório; repita a operação após um breve intervalo (o mecanismo de retry para erros transitórios de transação do driver cobre isso). Se você executou DDL recentemente (criação de coleção/índice), inicie a transação depois dele. Verifique o lag de replicação e a saúde dos nós. Se uma leitura snapshot não for realmente necessária, escolha um readConcern mais adequado.
Mais entradas deste banco
- 28 PathNotViableCannot use the part of the path to traverse the element (não é possível usar essa parte do caminho para percorrer o elemento)
- 216 ElectionInProgressElectionInProgress
- 225 TransactionTooOldTransactionTooOld
- 257 TransactionTooLargeTransactionTooLarge
- 276 IndexBuildAbortedIndexBuildAborted
- 86 IndexKeySpecsConflictIndexKeySpecsConflict
- 166 CommandNotSupportedOnViewCommandNotSupportedOnView