全部产品
Search
文档中心

:Mengapa pesan kesalahan "NotMaster", "NotWritablePrimary", atau "Time out after 30000ms while waiting for a server that matches writableServerSelector" muncul ketika data ditulis ke instance replika set?

更新时间:Nov 09, 2025

Deskripsi masalah

Saat menulis data ke instance replika set, pesan kesalahan berikut muncul: "errmsg": "not master", "code": 10107, "codeName": "NotMaster", "errmsg": "not master", "code": 10107, "codeName": "NotWritablePrimary", atau Time out after 30000ms while waiting for a server that matches writableServerSelector..

Penyebab

Pergantian utama/sekunder terjadi pada instance replika set, menyebabkan perubahan peran node. Jika bisnis Anda terhubung ke Titik akhir node utama, node sekunder sebenarnya yang terhubung setelah pergantian utama/sekunder mengakibatkan kegagalan penulisan data.

Catatan

Pergantian utama/sekunder dapat dipicu oleh berbagai alasan. Untuk informasi lebih lanjut, lihat Apa yang Menyebabkan Pergantian Utama/Sekunder untuk Suatu Instance?.

Setiap instance replika set mencakup satu node utama, satu atau lebih node sekunder, satu node tersembunyi, dan opsional satu atau lebih node baca-saja. Setiap node memiliki atribut seperti peran (utama, sekunder, tersembunyi, atau baca-saja), ID node, alamat IP, Titik akhir, dan port. Pergantian utama/sekunder mengubah peran node, tetapi atribut lainnya tetap tidak berubah.

Dalam instance replika set, Node 1 adalah node utama, dan Node 2 adalah node sekunder. Sebelum pergantian utama/sekunder, Titik akhir node utama (Node 1) terhubung. Setelah pergantian, Titik akhir node sekunder (Node 2) yang sebenarnya terhubung, sehingga menyebabkan kegagalan penulisan data.

Solusi

  • Secara manual ganti peran node instance tersebut agar node yang Titik akhirnya terhubung setelah pergantian utama/sekunder menjadi node utama. Untuk panduan lebih lanjut tentang cara mengganti peran node, lihat Ganti Peran Node.

  • Jika aplikasi Anda beroperasi di lingkungan produksi, kami sarankan menggunakan string koneksi URI untuk menghubungkan aplikasi ke instance. Dengan pendekatan ini, pergantian utama/sekunder dapat dilakukan tanpa mengganggu operasi baca dan tulis aplikasi meskipun sebuah node gagal. Untuk informasi lebih lanjut, lihat Hubungkan ke Instance Replika Set.

  • Pastikan aplikasi Anda dapat terhubung kembali ke instance ApsaraDB for MongoDB setelah terputus dan tangani pengecualian untuk menjaga kontinuitas bisnis.