DBAtlas · Veritabanı operasyon atlası

46: LockBusy

MongoDB

Ne demek?

İstenen lock ya da kaynak o anda başka bir işlem tarafından tutulduğu için hemen alınamadı ve işlem beklemek yerine reddedildi. Zaman aşımıyla biten lock beklemeleri ayrı bir koddur (24 LockTimeout).

Neden olur?

Aynı koleksiyon veya veritabanı üzerinde eşzamanlı çalışan yönetim/DDL işlemleri (ör. aynı anda iki index oluşturma, collMod, drop ya da rename), devam eden bir bakım işlemiyle çakışma veya lock'u kısa süreliğine bile bekleyemeyen bir iç işlemin meşgul kaynağa denk gelmesi.

Nasıl çözülür?

Çakışan işlemi bulun: db.currentOp() ile aynı namespace üzerinde çalışan DDL veya bakım işlemlerini inceleyin. Çakışan işlem bittikten sonra komutu yeniden deneyin (retry). Yönetim/DDL işlemlerini sıraya koyun ve aynı koleksiyon üzerinde paralel çalıştırmayın. Kalıcıysa mongod loglarında kaynağı tutan işlemi araştırın.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar