24 LockTimeout: Operation exceeded time limit waiting for a lock (a operação excedeu o limite de tempo aguardando um lock)
MongoDBO que significa?
Uma operação excedeu seu limite de tempo enquanto aguardava um lock necessário (por exemplo, no nível de banco/coleção) e foi abortada. O lock não pôde ser obtido a tempo.
Por que acontece?
Uma operação longa ou um comando DDL (por exemplo, operações administrativas conflitantes em uma coleção) mantém o lock necessário; escritas concorrentes intensas; ou uma operação limitada por maxTimeMS expira enquanto aguarda um lock. Ocorre com operações conflitantes de índice/coleção.
Como resolver
Encontre a operação que mantém o lock: inspecione as operações ativas e em espera com db.currentOp(); encerre-a com db.killOp() se necessário. Mova comandos administrativos conflitantes (criação de índices, collMod, compact) para horários fora de pico. Mantenha as operações curtas e evite transações desnecessariamente longas. Se necessário, ajuste maxTimeMS à carga de trabalho.
Mais entradas deste banco
- 10107 NotWritablePrimarynot master / not writable primary
- 91 ShutdownInProgressThe server is in the process of shutting down (o servidor está sendo desligado)
- 189 PrimarySteppedDownPrimary stepped down while operation was in progress (o primário fez stepdown durante a operação)
- 7 HostNotFoundCould not find host
- 175 QueryPlanKilledQuery plan killed during execution
- 11602 InterruptedDueToReplStateChangeOperation interrupted due to a replication state change (operação interrompida por uma mudança de estado da replicação)
- 136 CappedPositionLostCapped collection position lost