Производителю требуется больше времени, чтобы выбросить исключение в случае отказа брокера kafka

Я хочу обработать случай, если Kafka Broker не работает на конце Kafka Producer, тогда потребуется больше времени, чтобы показать ошибку ниже.

Не удалось отправить; вложенное исключение - org.apache.kafka.common.errors.TimeoutException: истекает срок действия 1 записи для ведения журнала-0: с момента создания пакета прошло 30030 мс, плюс время задержки

Как с этим справиться?

0
0
476
1

Ответы 1

Производитель ждет request.timeout.ms ответа от брокера.

The configuration controls the maximum amount of time the client will wait for the response of a request. If the response is not received before the timeout elapses the client will resend the request if necessary or fail the request if retries are exhausted. This should be larger than replica.lag.time.max.ms (a broker configuration) to reduce the possibility of message duplication due to unnecessary producer retries.

По умолчанию установлено значение 30000 мс. Будьте осторожны, если вы попытаетесь уменьшить его, как если бы он был слишком коротким, это может привести к слишком быстрой повторной попытке производителя и созданию дубликатов.

Я не могу найти replica.lag.time.max.ms в server.properties, не могли бы вы рассказать, как это настроить в брокере

Abhishek Mittal 11.04.2018 12:49

См. В документации по настройке брокера: kafka.apache.org/documentation/#brokerconfigs

Mickael Maison 11.04.2018 13:35

Также см. max.block.msв этом ответе, который может повлиять на получение метаданных при первом запуске приложения и отключении брокера.

Gary Russell 11.04.2018 15:41

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