DBAtlas · Атлас эксплуатации баз данных

10107 NotWritablePrimary: not master / not writable primary

MongoDB

Что это значит?

Запись (или другая операция, требующая primary) отправлена члену набора реплик, который в данный момент не является primary. Запись принимает только primary, поэтому операция отклонена.

Почему возникает?

Приложение пишет на secondary; во время отработки отказа (выборов) бывший primary стал secondary, а клиент всё ещё подключён к нему; либо предпочтения чтения/записи драйвера и сведения о топологии устарели. Типичная причина — отсутствие параметра replicaSet в строке подключения.

Как исправить

Настройте драйвер со всеми членами набора реплик и именем набора реплик (replicaSet=... и все хосты в строке подключения), чтобы драйвер автоматически обнаруживал primary и перенаправлял запросы при отработке отказа. Используйте предпочтения чтения/записи по умолчанию, направляющие запись на primary. Поскольку это временная ошибка, включите в приложении retryable writes. Проверьте, какой член является PRIMARY, с помощью rs.status().

Открыть в DBAtlas →

Ещё по этой СУБД