You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Gwen Shapira (JIRA)" <ji...@apache.org> on 2015/11/10 19:28:11 UTC

[jira] [Resolved] (KAFKA-2792) KafkaConsumer.close() can block unnecessarily due to leave group waiting for a reply

     [ https://issues.apache.org/jira/browse/KAFKA-2792?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gwen Shapira resolved KAFKA-2792.
---------------------------------
    Resolution: Fixed

Issue resolved by pull request 480
[https://github.com/apache/kafka/pull/480]

> KafkaConsumer.close() can block unnecessarily due to leave group waiting for a reply
> ------------------------------------------------------------------------------------
>
>                 Key: KAFKA-2792
>                 URL: https://issues.apache.org/jira/browse/KAFKA-2792
>             Project: Kafka
>          Issue Type: Bug
>          Components: consumer
>            Reporter: Ewen Cheslack-Postava
>            Assignee: Ewen Cheslack-Postava
>            Priority: Blocker
>             Fix For: 0.9.0.0
>
>
> The current implementation of close() waits for a response to LeaveGroup. However, if we have an outstanding rebalance in the works, this can cause the close() operation to have to wait for the entire rebalance process to complete, which is annoying since the goal is to get rid of the consumer object anyway. This is at best surprising and at worst can cause unexpected bugs due to close() taking excessively long -- this was found due to exceeding timeouts unexpectedly causing other operations in Kafka Connect to timeout.
> Waiting for a response isn't necessary since as soon as the data is in the TCP buffer, it'll be delivered to the broker. The client doesn't benefit at all from seeing the close group. So we can instead just always send the request 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)