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

Directum RX не даёт двум людям одновременно менять одну запись. Пока карточка открыта на редактирование, она заблокирована, и второй пользователь или фоновый процесс получает этот отказ. По одной записи в логе в час это нормальная работа системы.

Проблема начинается, когда таких ошибок сотни. Обычно это значит, что фоновые процессы (блоки маршрутов, асинхронные обработчики, интеграции) постоянно натыкаются на записи, которые держат пользователи, или друг на друга. Асинхронные обработчики в таком случае пишут Async … is locked и уходят на повтор, задания и статусы обновляются с опозданием.

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

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

Что сделать

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