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

  1. 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;
    }
  2. 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.

  3. 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.

  4. Periksa ulang niat setelah kalah dalam perlombaan — Wilayah lain mengubah item; percobaan ulang bersyarat (ConditionExpression pada atribut versi) memastikan tulisan Anda masih valid terhadap status baru.

  5. 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

Kesalahan terkait

Referensi

Terakhir diverifikasi 2026-07-13 berdasarkan dokumentasi resmi AWS yang ditautkan di atas.

Bekerja dengan DynamoDB tanpa Console

Klien desktop DynamoDB yang cepat dan menjalankan SQL sungguhan yang tidak bisa dijalankan DynamoDB — JOINs, GROUP BY, agregasi — dengan editing visual dan agen AI pada kunci Bedrock milik Anda sendiri.

Uji coba gratis 30 hari, tanpa kartu kredit — lalu paket Free tanpa batas waktu.