DBAtlas · Atlas d'exploitation des bases de données

24 LockTimeout: Operation exceeded time limit waiting for a lock (l'opération a dépassé le délai d'attente d'un verrou)

MongoDB

Que signifie cette erreur ?

Une opération a dépassé son délai en attendant un verrou requis (par ex. au niveau base/collection) et a été abandonnée. Le verrou n'a pas pu être obtenu à temps.

Cause

Une opération longue ou une commande DDL (par ex. des opérations d'administration conflictuelles sur une collection) détient le verrou requis ; écritures concurrentes importantes ; ou une opération limitée par maxTimeMS expire en attendant un verrou. Observé avec des opérations d'index/de collection conflictuelles.

Comment la corriger

Trouvez l'opération qui détient le verrou : examinez les opérations actives et en attente avec db.currentOp() ; terminez-la avec db.killOp() si nécessaire. Déplacez les commandes d'administration conflictuelles (construction d'index, collMod, compact) en heures creuses. Gardez les opérations courtes et évitez les transactions inutilement longues. Si nécessaire, ajustez maxTimeMS à la charge.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur