DBAtlas · Veritabanı operasyon atlası

112: WriteConflict (error code 112)

MongoDB

Ne demek?

İki eşzamanlı transaction aynı belge(ler)i değiştirmeye çalıştığında oluşan yazma çakışmasıdır. WiredTiger, iyimser eşzamanlılık kontrolü (optimistic concurrency) nedeniyle transaction'lardan birini geri alır.

Neden olur?

Aynı belgelere yüksek eşzamanlı yazma, uzun süren transaction'lar sırasında çakışan güncellemeler, hot document üzerinde yoğun rekabet.

Nasıl çözülür?

İşlemi yeniden deneyin; WriteConflict genellikle geçicidir ve retry ile çözülür (TransientTransactionError olarak işaretlenir). Transaction'ları kısa tutun ve dokunulan belge sayısını azaltın. Aynı belgeye yönelik çekişmeyi azaltacak şekilde veri modelini gözden geçirin. Uygulamada üstel geri çekilmeli (exponential backoff) yeniden deneme uygulayın.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar