10107 NotWritablePrimary: not master / not writable primary
MongoDBNe demek?
Bir yazma (ya da primary gerektiren) işlemi, replica set'te şu anda primary olmayan bir düğüme gönderildi. Yalnızca primary yazma kabul ettiği için işlem reddedildi.
Neden olur?
Uygulama, secondary bir düğüme yazmaya çalışıyor; bir failover (election) sırasında eski primary secondary hâline gelmiş ve istemci hâlâ ona bağlı; ya da sürücünün read/write preference ve topoloji bilgisi güncel değil. Bağlantı dizesinde replicaSet parametresinin eksik olması tipik nedendir.
Nasıl çözülür?
Sürücüyü tüm küme üyeleriyle ve replicaSet adıyla yapılandırın (bağlantı dizesinde replicaSet=... ve tüm host'lar); böylece sürücü primary'yi otomatik bulur ve failover'da yönünü değiştirir. Yazma işlemlerini primary'ye yönlendiren varsayılan read/write preference kullanın. Geçici bir hata olduğundan uygulamada yeniden deneme (retryable writes) etkinleştirin. rs.status() ile hangi düğümün PRIMARY olduğunu doğrulayın.
Aynı motorda diğer kayıtlar
- 67 CannotCreateIndexCannot create index
- 27 IndexNotFoundIndex not found
- 79 UnknownReplWriteConcernUnknown replica set write concern
- 91 ShutdownInProgressThe server is in the process of shutting down
- 189 PrimarySteppedDownPrimary stepped down while operation was in progress
- 24 LockTimeoutOperation exceeded time limit waiting for a lock
- 7 HostNotFoundCould not find host