Kafka: Ошибка фиксации смещений с повторяющимся исключением. Вам следует повторить попытку фиксации смещений

[o.a.k.c.c.i.ConsumerCoordinator] [Auto offset commit failed for group consumer-group: Commit offsets failed with retriable exception. You should retry committing offsets.] []

Почему эта ошибка возникает у потребителя kafka? Что это значит?

Я использую следующие потребительские свойства:

fetch.min.bytes:1
enable.auto.commit:true
auto.offset.reset:latest
auto.commit.interval.ms:5000
request.timeout.ms:300000
session.timeout.ms:20000
max.poll.interval.ms:600000
max.poll.records:500
max.partition.fetch.bytes:10485760

В чем причина появления этой ошибки? Я предполагаю, что потребитель сейчас выполняет дублированную работу (снова опрашивает то же сообщение) из-за этой ошибки.

Я не использую ни consumer.commitAsync(), ни consumer.commitSync()

Привет, вам удалось исправить эту проблему? Было бы неплохо узнать, как это сделать.

Viacheslav Shalamov 21.02.2019 12:34

Привет, @ViacheslavShalamov, я уверен, что это запоздалый ответ. Мне не удалось исправить проблему. Пришлось перезапустить брокера! Все еще надеемся найти причину, когда она появится снова: p

enator 19.03.2019 17:54
enable.auto.commit:true вызывает commitAsync под капотом, поэтому это причина, по которой вы получаете эту ошибку
eparvan 22.05.2019 10:49

конечно. но разве не в этом смысл enable.auto.commit:true? если SDK управляет фиксацией, то почему разработчику приходится сталкиваться с Commit offsets failed with retriable exception. You should retry committing offsets? Я надеялся, что при использовании автоматической фиксации нам не придется беспокоиться об управлении смещением.

enator 02.07.2019 10:00
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
13
4
14 094
1

Ответы 1

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

Причины могут быть разными:

  • если координатор все еще загружает метаданные группы
  • если тема метаданных группы еще не создана
  • если происходит повреждение сети или диска, или при обработке запроса возникли различные исключения IOException, связанные с диском или сетью
  • если сервер отключился до завершения запроса
  • если метаданные клиента устарели
  • если в данный момент нет доступного лидера для данного раздела
  • если не было брокеров для выполнения запроса

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

Другие вопросы по теме