[
https://issues.apache.org/jira/browse/KAFKA-4303?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15576520#comment-15576520
]
Jason Gustafson commented on KAFKA-4303:
----------------------------------------
Revised the title. The unnecessary blocking caused by the issue above should be
bounded in duration by the minimum of {{metadata.max.age.ms}} and
{{request.timeout.ms}} (this upper bound is enforced by {{NetworkClient}}). We
still probably need to fix this though because it prevents the offset commit
from being sent and results in the consumer being kicked out of the group.
> KafkaConsumer blocks unnecessarily in commitSync()
> ---------------------------------------------------
>
> Key: KAFKA-4303
> URL: https://issues.apache.org/jira/browse/KAFKA-4303
> Project: Kafka
> Issue Type: Bug
> Components: consumer
> Reporter: Jason Gustafson
> Assignee: Jason Gustafson
> Priority: Blocker
> Fix For: 0.10.1.0
>
>
> This appears to be a regression caused by the KIP-62 patch. It is possible
> that we end up blocking indefinitely in {{NetworkClient.poll()}} with no
> requests pending. The reason is that
> {{ConsumerNetworkClient.poll(RequestFuture)}} does not actually verify that
> the request has been sent prior to calling {{NetworkClient.poll()}}. This was
> not possible previously because the maximum timeout was always bounded by the
> heartbeat interval.
> This appears to be the cause of hanging builds that some people may have
> experienced. In particular, I have seen {{ConsumerBounceTest}} hang because
> of this problem.
> Note that another reason we can block indefinitely in {{commitSync()}} is
> coordinator discovery. We do not attempt to fix this here.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)