[
https://issues.apache.org/jira/browse/BEAM-9420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17056816#comment-17056816
]
Jozef Vilcek commented on BEAM-9420:
------------------------------------
[~aromanenko], I apologies for late reply. `request.timeout.ms` will make
Kafka's network client just wait longer for the reply from broker. The it
abandons the request and try again with different broker. Kafka does not have
something like `connect.timeout.ms`. It uses a request timeout for many network
IO. A higher level timeout which covers `retryCount * request.timeout.ms` is
needed. That is introduced in later versions by `default.api.timeout.ms`.
In case of producer, this is already possible to do by setting `max.block.ms`
larger than `request.timeout.ms`. For consumer, I am not aware of such option.
> Configurable timeout for Kafka setupInitialOffset()
> ---------------------------------------------------
>
> Key: BEAM-9420
> URL: https://issues.apache.org/jira/browse/BEAM-9420
> Project: Beam
> Issue Type: Bug
> Components: io-java-kafka
> Affects Versions: 2.19.0
> Reporter: Jozef Vilcek
> Assignee: Jozef Vilcek
> Priority: Major
>
> If bootstrap brokers does contain an unhealthy server, it can break the start
> of a whole Beam job. During the start, `KafkaUnboundedReader` is waiting for
> `setupInitialOffset()`. Wait timeout is either a double time of `request.
> timeout.ms` or some default constant. In both cases, it might not be enough
> time for kafka-client to initiate fallback and retry metadata discovery via
> another broker from given bootstrap list.
> The client should be able to specify timeout for `setupInitialOffset()`
> explicitly as a setting to KafkaIO read.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)