DBAtlas · Atlas de operações de banco de dados

10107 NotWritablePrimary: not master / not writable primary

MongoDB

O que significa?

Uma escrita (ou outra operação que exige o primário) foi enviada a um membro do replica set que não é o primário no momento. Apenas o primário aceita escritas, por isso a operação foi rejeitada.

Por que acontece?

A aplicação está escrevendo em um secundário; durante um failover (eleição), o antigo primário se tornou secundário e o cliente continua conectado a ele; ou a preferência de leitura/escrita e as informações de topologia do driver estão desatualizadas. A ausência do parâmetro replicaSet na string de conexão é a causa típica.

Como resolver

Configure o driver com todos os membros do replica set e o nome do replica set (replicaSet=... e todos os hosts na string de conexão), para que o driver descubra o primário automaticamente e redirecione em caso de failover. Use a preferência de leitura/escrita padrão, que direciona as escritas para o primário. Como este é um erro transitório, habilite retryable writes na aplicação. Verifique qual membro é PRIMARY com rs.status().

Abrir no DBAtlas →

Mais entradas deste banco