DBAtlas · Veritabanı operasyon atlası

24 LockTimeout: Operation exceeded time limit waiting for a lock

MongoDB

Ne demek?

Bir işlem, ihtiyaç duyduğu lock'u (ör. veritabanı/koleksiyon düzeyinde) beklerken tanımlı süreyi aştı ve iptal edildi. Lock zamanında elde edilemedi.

Neden olur?

Uzun süren bir işlem ya da DDL komutu (ör. bir koleksiyon üzerinde çakışan yönetim işlemleri) gerekli lock'u tutuyor; yoğun eşzamanlı yazma; ya da maxTimeMS ile sınırlanmış bir işlemin lock beklerken süresinin dolması. Çakışan index/collection işlemlerinde görülür.

Nasıl çözülür?

Lock'u uzun tutan işlemi bulun: db.currentOp() ile aktif ve bekleyen işlemleri inceleyin; gerekiyorsa db.killOp() ile sonlandırın. Çakışan yönetim komutlarını (index oluşturma, collMod, compact) yoğun olmayan zamanlara alın. İşlemleri kısa tutun ve gereksiz uzun transaction'lardan kaçının. Gerekiyorsa maxTimeMS değerini iş yüküne göre ayarlayın.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar