Резервные задачи, не записывающие обновления в файлы .checkpoint - PullRequest
1 голос
/ 05 мая 2020

У меня есть приложение Kafka Streams, в котором настроено создание 1 резервной реплики для каждой задачи. У меня работает два экземпляра приложения. Когда приложение запускается, оно записывает файлы .checkpoint для каждого из разделов, за которые оно отвечает. Он записывает эти файлы для разделов, принадлежащих как активным, так и резервным задачам.

При отправке нового события Kafka для обработки приложением экземпляр, содержащий эту активную задачу для раздела, обновляет смещения в файле .checkpoint . Однако файл .checkpoint для резервной задачи на втором экземпляре никогда не обновляется. Он остается со старым смещением.

Я считаю, что это заставляет нас видеть, что OffsetOutOfRangeEceptions выбрасывается при ребалансировке, что приводит к тому, что задачи срываются и создаются с нуля.

  1. Am Я правильно думаю, что смещения следует записывать для разделов в как резервных, так и активных задач?
  2. Это показатель того, что мои резервные задачи не потребляют, или может это быть тем, что он просто не может записать смещение?
  3. Есть идеи, что могло вызвать такое поведение?

Версия потоков: 2.3.1

1 Ответ

0 голосов
/ 11 мая 2020

Эта проблема была исправлена ​​в Kafka 2.4.0, которая устраняет следующие ошибки: apache .org / jira / browse / KAFKA-8755

Примечание: проблема касается только приложений, которые настроен OPTIMIZE = "all"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...