ReplikasiWriteConflictException
TL;DR — Anda menulis ke item dalam tabel global multi-Wilayah yang sangat konsisten (MRSC) sementara permintaan di Wilayah lain memodifikasi item yang sama. Konsistensi multi-Wilayah yang kuat tidak dapat menghasilkan kedua kemenangan, sehingga satu penulisan ditolak. AWS mendokumentasikannya sebagai dapat dicoba ulang: mundur dan coba lagi, dan kurangi pertikaian lintas Wilayah pada item populer jika Anda bisa.
Apa artinya
ReplicatedWriteConflictException: One or more items in this request are
being modified by a request in another Region.Mengapa itu terjadi
- Item yang sama ditulis dari beberapa Wilayah secara bersamaan — dua penerapan aplikasi memperlakukan item tersebut sebagai milik mereka untuk diperbarui.
- Item koordinasi yang menarik — penghitung, kunci, atau item konfigurasi tunggal yang disentuh oleh setiap Wilayah adalah magnet konflik alami.
- Coba lagi badai di seluruh Wilayah — percobaan ulang operasi logis yang sama secara bersamaan dari Wilayah berbeda terus bertabrakan.
Bagaimana cara memperbaikinya
Coba lagi dengan backoff eksponensial dan jitter — konfliknya hanya sesaat; setelah penulisan Wilayah lain selesai, percobaan ulang berlanjut. AWS menandai kesalahan ini dapat dicoba ulang:
// let the SDK's adaptive retry handle it, or catch and back off: catch (e) { if (e.name === 'ReplicatedWriteConflictException') return retryWithBackoff(op); throw e; }Berikan item sebuah Wilayah asal — rutekan penulisan untuk kunci tertentu melalui satu Wilayah (menurut tempat tinggal pengguna, tenant, atau partisi), sehingga Wilayah lain sebagian besar hanya membaca. Pertentangan hilang ketika hanya satu Wilayah yang memutasi sebuah item.
Jadikan pembaruan serentak bersifat komutatif — pembaruan penghitung atomik (
ADD/SET x = x + :n) pada atribut terpisah lebih sedikit konfliknya dibandingkan siklus baca-modifikasi-tulis pada keseluruhan item.Periksa ulang niat setelah kalah dalam perlombaan — Wilayah lain mengubah item; percobaan ulang bersyarat (
ConditionExpressionpada atribut versi) memastikan tulisan Anda masih valid terhadap status baru.Rutekan item koordinasi yang panas melalui satu Wilayah. Kunci, penghitung, dan blob konfigurasi yang ditulis dari setiap Wilayah biasanya merupakan sumber konflik.
Periksa di DynoTable
Bandingkan item yang sama di seluruh Wilayah setelah konflik — beralih dengan ⌘P, buka tabel dengan ⌘K, dan baca item di setiap replika Wilayah secara berdampingan. Staging (⌘S) memungkinkan Anda mempersiapkan percobaan ulang bersyarat dan meninjau perbedaannya sebelum melakukan.
Perkirakan biaya penulisan yang direplikasi dengan kalkulator harga sebelum Anda mengaktifkan MRSC di hot table. Konfigurasikan setiap Wilayah di bawah Pengaturan → Profil dengan Uji Koneksi. Lihat Menghubungkan ke AWS dan Instal.
Sumber
- Cara kerja tabel global DynamoDB (diverifikasi 13-07-2026)
- Penanganan kesalahan dengan DynamoDB (diverifikasi 13-07-2026)
Kesalahan terkait
- TransactionConflictException — sepupu Wilayah tunggal: transaksi yang sedang berlangsung adalah pemilik item tersebut.
- Ketidakcocokan versi tabel global
- ReplikaSudah AdaPengecualian
- Pelajari: tabel global DynamoDB
Referensi
- Penanganan kesalahan dengan DynamoDB — Panduan Pengembang Amazon DynamoDB
- Cara kerja tabel global DynamoDB — Panduan Pengembang Amazon DynamoDB
- PutItem — Referensi Amazon DynamoDB API
Terakhir diverifikasi 2026-07-13 berdasarkan dokumentasi resmi AWS yang ditautkan di atas.