Перейти к содержанию

Типовые проблемы

Готовые рецепты для часто встречающихся ситуаций. Если проблемы нет в списке — см. Диагностика.

Сообщения застряли в статусе «Новое»

Новые сообщения появляются, но не уходят в обработку.

Проверить:

  1. Регламентное задание включено и выполняется — Kafka / Администрирование / Регламентное задание.
  2. Подсистема не заблокированаKafka / Администрирование / Фоновые задания → кнопка Разблокировать должна быть неактивна.
  3. Продюсер не заблокирован по регистрации или сериализации — откройте элемент справочника Продюсеры.
  4. Подсистема включена — Kafka / Администрирование → кнопка Включить подсистему нажата.

Статус «Ошибка выгрузки»

Сообщение сериализовано, но не доставлено в Kafka.

Система автоматически повторяет отправку до 3 раз с интервалом равным расписанию регламентного задания. Текущее число попыток отображается в поле «Кол-во выгрузок». Если все 3 попытки завершились ошибкой — требуется ручное вмешательство.

Проверить:

  1. Текст ошибки в записи РС «Исходящие сообщения» — чаще всего указывает на недоступность брокера или ошибку аутентификации.
  2. Доступность брокера с сервера 1С — адрес host:port из справочника Брокеры (проверьте telnet host port).
  3. Параметры SASL/SSL в табличной части Параметры подключения справочника Брокеры (если кластер защищён).
  4. Логи внешней компоненты — детали на уровне librdkafka.

Действия после устранения:

Выделите записи с ошибкой в РС «Исходящие сообщения» и нажмите Вернуть в очередь.

Статус «Ошибка обработки»

Исключение в обработчике продюсера или консьюмера. Может возникнуть и у исходящих, и у входящих сообщений.

Проверить:

  1. Текст ошибки в записи РС «Исходящие сообщения» или «Входящие сообщения» — поле Текст журнала содержит трассировку.
  2. Логику обработчика — ошибка может быть в коде сериализации (продюсер) или десериализации (консьюмер).
  3. Журнал регистрации 1С — полный стек исключения мог быть пойман там.

Действия после устранения:

Выделите записи с ошибкой и нажмите Вернуть в очередь.

Автоповтор не запускается

Для статуса «Ошибка обработки» автоматический повтор не выполняется — всегда требуется ручное вмешательство.

Фоновые задания не запускаются

Проверить:

  1. Регламентное задание активировано и указан пользователь обмена с правами на запуск фоновых заданий.
  2. На сервере 1С разрешены фоновые задания (параметр кластера).
  3. Нет активной блокировки — Kafka / Администрирование / Фоновые задания → кнопка Разблокировать неактивна.

Очередь постоянно растёт

Сообщения поступают быстрее, чем обрабатываются.

Варианты решения:

  • Увеличить количество Подпотоков обработки и Подпотоков транспорта в диспетчере задач продюсера или консьюмера. Рекомендуемое соотношение: Подпотоков обработки = Подпотоков транспорта × 2.
  • Включить Потоковый режим — Kafka / Администрирование / Регламентное задание.
  • Разделить нагрузку между несколькими диспетчерами или топиками.

Входящие сообщения не поступают

Проверить:

  1. Консьюмер не заблокирован по чтению.
  2. Имя топика в настройках консьюмера совпадает с именем топика в Kafka (регистр имеет значение).
  3. Идентификатор группы консьюмеров (consumer group id) уникален — если другой консьюмер с тем же id уже подписан на топик, сообщения уйдут ему.
  4. В топике есть непрочитанные сообщения — проверьте смещение (offset) через инструменты Kafka (например, kafka-consumer-groups.sh --describe).

Сообщения уходят в очередь по кругу

Симптом: после загрузки сообщения из Kafka и его обработки создаётся новое исходящее сообщение с теми же данными.

Причина: в обработчике консьюмера не подавлена регистрация при записи — подписка адаптера отрабатывает повторно.

Решение: перед Записать() в обработчике консьюмера всегда вызывайте:

кфкИнтеграция.Отключить(Объект);
Объект.ОбменДанными.Загрузка = Истина;
Объект.Записать();

См. пример — Upsert справочника.

При записи объекта возникает ошибка регистрации

Симптом: в журнале регистрации 1С — событие «Адаптер Kafka. Регистрация при записи» с трассировкой исключения.

Причина: ошибка в обработке подписки адаптера. Пользователя не должно блокировать — запись объекта успешна; но обмен по этому объекту не состоится.

Действия:

  1. Откройте журнал регистрации, найдите событие и изучите текст.
  2. Проверьте права пользователя обмена.
  3. Если ошибка повторяется у многих пользователей — обратитесь к диагностике.

Не помогает — что делать

  1. Полный пересбор диагностических данных — см. Диагностика.
  2. Откройте issue в репозитории с:
    • версией платформы 1С;
    • описанием проблемы и шагами воспроизведения;
    • отрывками из журнала регистрации и логов компоненты.