Параметр Kafka Documentation for Producer Config retries
говорит, что повторная попытка произойдет при потенциально кратковременных ошибках.
Установка значения больше нуля приведет к повторной отправке клиентом любой записи, отправка которой терпит неудачу с потенциально переходной ошибкой. Обратите внимание, что эта повторная попытка ничем не отличается от ситуации, когда клиент повторно отправляет запись при получении ошибки. Разрешение повторных попыток без установки max.in.flight.requests.per.connection в 1 потенциально изменит порядок записей, потому что если две партии отправляются в один раздел, и первая не удалась и повторяется, но вторая удалась, то записи во второй партии может появиться первая.
- Что это за потенциально переходные ошибки ? Какой сценарий ios вызывает эти «временные ошибки»?
- В исходном коде я вижу, что есть интерфейс
RetriableException
и TimeoutException
реализует его. Но я заметил, что повтор не происходит для каждого исключения тайм-аута, выданного send(ProducerRecord<K,V> record)
методом org.apache.kafka.clients.producer
. Итак, чего мне здесь не хватает ... Не все ли RetriableException
повторены, когда retries
параметр больше 0?