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

Внутри сервисов Directum RX работает фреймворк Orleans. Когда сервис останавливается, он пишет «Grain directory is stopping», и запросы, которые пришли в этот момент, получают ошибку. Похожая фраза «Идёт обновление прикладной разработки» появляется, пока публикуется новая версия прикладного кода.

Во время публикации или планового перезапуска это ожидаемо.

Как проверить

  1. Совпадает ли время с публикацией, перезапуском или обновлением. Если да, разбирать нечего.
  2. Если нет, смотреть, почему сервис перезапустился. В Kubernetes:
kubectl get pods -n <namespace> -o wide
kubectl describe pod <под> | grep -A5 "Last State"

OOMKilled означает, что сервису не хватило памяти. Для служб на виртуальных машинах смотреть журнал systemd или Windows.

  1. Частота: один раз за выкладку нормально, каждые несколько минут нет.

Что сделать

  1. Публикацию делать в окно обслуживания и предупреждать пользователей: пока она идёт, часть запросов будет падать.
  2. Внеплановые перезапуски разобрать до причины: память, проверка работоспособности, которая слишком строгая, падение зависимостей.
  3. Настроить алерт на частые перезапуски сервисов, а эту запись в логах считать фоном.