Ошибка запуска реплик сервиса pgs_aristoteles
Описание проблемы:
Ожидание запуска реплик сервиса Aristoteles длительное время (более 15 минут). В журнале событий сервиса Aristoteles возникают следующие ошибки:
pgs_aristoteles.2.14j3moa98529@pgs-rtk-2500-a-app-2 | Lock 'upgrade-head' is already acquired by another process.
pgs_aristoteles.2.e3s0r475sr9n@pgs-rtk-2500-a-app-2 | Lock 'upgrade-head' is already acquired by another process.
pgs_aristoteles.2.xbdzfgodyag6@pgs-rtk-2500-a-app-2 | Lock 'upgrade-head' is already acquired by another process.
pgs_aristoteles.2.e3s0r475sr9n@pgs-rtk-2500-a-app-2 | Lock 'upgrade-head' is already acquired by another process.
Ошибки появляются из-за ограничения: один экземпляр роли при запуске миграции. Если миграция завершилась с ошибками или не завершилась, возможно зависание процесса переключения миграции на следующий экземпляр роли.
Решение:
- Проверить и запомнить количество реплик сервиса pgs_aristoteles с помощью команды:
docker service ls
- Отключить все реплики сервиса pgs_aristoteles, проскалировав 0 реплик с помощью команды:
docker service scale pgs_aristoteles=0
-
Подключиться к веб-интерфейсу базы и найти коллекцию AvocadoLocks.
-
Удалить запись лока из коллекции (коллекция содержит только одну запись (рис.).
-
Восстановить количество реплик с помощью команды:
docker service scale pgs_aristoteles=<n>
где <n> — количество реплик, проверенное в п.1.
