Сервис RX останавливается или перезапускается
«Grain directory is stopping» и «Идёт обновление прикладной разработки» в логах Directum RX: сервис останавливается при публикации или перезапуске. Когда это шум, а когда повод искать, почему сервис падает.
Что это значит
Внутри сервисов Directum RX работает фреймворк Orleans. Когда сервис останавливается, он пишет «Grain directory is stopping», и запросы, которые пришли в этот момент, получают ошибку. Похожая фраза «Идёт обновление прикладной разработки» появляется, пока публикуется новая версия прикладного кода.
Во время публикации или планового перезапуска это ожидаемо.
Как проверить
- Совпадает ли время с публикацией, перезапуском или обновлением. Если да, разбирать нечего.
- Если нет, смотреть, почему сервис перезапустился. В Kubernetes:
kubectl get pods -n <namespace> -o wide
kubectl describe pod <под> | grep -A5 "Last State"
OOMKilled означает, что сервису не хватило памяти. Для служб на виртуальных машинах смотреть журнал systemd или Windows.
- Частота: один раз за выкладку нормально, каждые несколько минут нет.
Что сделать
- Публикацию делать в окно обслуживания и предупреждать пользователей: пока она идёт, часть запросов будет падать.
- Внеплановые перезапуски разобрать до причины: память, проверка работоспособности, которая слишком строгая, падение зависимостей.
- Настроить алерт на частые перезапуски сервисов, а эту запись в логах считать фоном.
Ошибка повторяется?
Запустите Диагностика: за полминуты он покажет состояние базы, брокера, поиска и сервера. С отчётом разберём причину за 30 минут бесплатного созвона.
Написать