DBAtlas · データベース運用アトラス

112: WriteConflict (エラーコード 112)

MongoDB

意味

2 つの同時操作が同じドキュメントを変更しようとしたときに発生する書き込み競合。楽観的同時実行制御のため、WiredTiger は一方の操作をロールバックする。

原因

同じドキュメントへの高頻度の同時書き込み、長時間実行されるトランザクション中の競合する更新、ホットドキュメントへの激しい競合。

対処方法

操作を再試行する。WriteConflict は通常一時的であり、再試行で解消する (TransientTransactionError ラベルが付く)。トランザクションを短く保ち、対象ドキュメント数を減らす。同じドキュメントへの競合を減らすようデータモデルを見直す。アプリケーションに指数バックオフ付きの再試行を実装する。

DBAtlas で開く →

同じデータベースの他の項目