[ 
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)

Reply via email to