Kafka Producer: Понимание параметров конфигурации `retries` - PullRequest
0 голосов
/ 23 апреля 2020

Параметр Kafka Documentation for Producer Config retries говорит, что повторная попытка произойдет при потенциально кратковременных ошибках.

Установка значения больше нуля приведет к повторной отправке клиентом любой записи, отправка которой терпит неудачу с потенциально переходной ошибкой. Обратите внимание, что эта повторная попытка ничем не отличается от ситуации, когда клиент повторно отправляет запись при получении ошибки. Разрешение повторных попыток без установки max.in.flight.requests.per.connection в 1 потенциально изменит порядок записей, потому что если две партии отправляются в один раздел, и первая не удалась и повторяется, но вторая удалась, то записи во второй партии может появиться первая.

  1. Что это за потенциально переходные ошибки ? Какой сценарий ios вызывает эти «временные ошибки»?
  2. В исходном коде я вижу, что есть интерфейс RetriableException и TimeoutException реализует его. Но я заметил, что повтор не происходит для каждого исключения тайм-аута, выданного send(ProducerRecord<K,V> record) методом org.apache.kafka.clients.producer. Итак, чего мне здесь не хватает ... Не все ли RetriableException повторены, когда retries параметр больше 0?
...