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