10107 NotWritablePrimary: not master / not writable primary
MongoDBЧто это значит?
Запись (или другая операция, требующая primary) отправлена члену набора реплик, который в данный момент не является primary. Запись принимает только primary, поэтому операция отклонена.
Почему возникает?
Приложение пишет на secondary; во время отработки отказа (выборов) бывший primary стал secondary, а клиент всё ещё подключён к нему; либо предпочтения чтения/записи драйвера и сведения о топологии устарели. Типичная причина — отсутствие параметра replicaSet в строке подключения.
Как исправить
Настройте драйвер со всеми членами набора реплик и именем набора реплик (replicaSet=... и все хосты в строке подключения), чтобы драйвер автоматически обнаруживал primary и перенаправлял запросы при отработке отказа. Используйте предпочтения чтения/записи по умолчанию, направляющие запись на primary. Поскольку это временная ошибка, включите в приложении retryable writes. Проверьте, какой член является PRIMARY, с помощью rs.status().
Ещё по этой СУБД
- 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