10107 NotWritablePrimary: not master / not writable primary
MongoDBO 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().
Mais entradas deste banco
- 67 CannotCreateIndexCannot create index
- 27 IndexNotFoundIndex not found
- 79 UnknownReplWriteConcernUnknown replica set write concern
- 91 ShutdownInProgressThe server is in the process of shutting down (o servidor está sendo desligado)
- 189 PrimarySteppedDownPrimary stepped down while operation was in progress (o primário fez stepdown durante a operação)
- 24 LockTimeoutOperation exceeded time limit waiting for a lock (a operação excedeu o limite de tempo aguardando um lock)
- 7 HostNotFoundCould not find host