You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/09/14 18:35:21 UTC

[jira] [Commented] (KAFKA-4160) Consumer onPartitionsRevoked should not be invoked while holding the coordinator lock

    [ https://issues.apache.org/jira/browse/KAFKA-4160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15491143#comment-15491143 ] 

ASF GitHub Bot commented on KAFKA-4160:
---------------------------------------

GitHub user hachikuji opened a pull request:

    https://github.com/apache/kafka/pull/1855

    KAFKA-4160: Ensure rebalance listener not called with coordinator lock

    

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/hachikuji/kafka KAFKA-4160

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/kafka/pull/1855.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1855
    
----
commit 956fe2a546d5ef9b6c6beb485060e510a7829520
Author: Jason Gustafson <ja...@confluent.io>
Date:   2016-09-13T23:02:03Z

    KAFKA-4160: Ensure rebalance listener not called with coordinator lock

----


> Consumer onPartitionsRevoked should not be invoked while holding the coordinator lock
> -------------------------------------------------------------------------------------
>
>                 Key: KAFKA-4160
>                 URL: https://issues.apache.org/jira/browse/KAFKA-4160
>             Project: Kafka
>          Issue Type: Bug
>          Components: consumer
>            Reporter: Jason Gustafson
>            Assignee: Jason Gustafson
>            Priority: Blocker
>             Fix For: 0.10.1.0
>
>
> We have a single lock which is used for protecting access to shared coordinator state between the foreground thread and the background heartbeat thread. Currently, the onPartitionsRevoked callback is invoked while holding this lock, which prevents the heartbeat thread from sending any heartbeats. If the heartbeat thread is blocked for longer than the session timeout, than the consumer is kicked out of the group. Typically this is not a problem because onPartitionsRevoked might only commit offsets, but for Kafka Streams, there is some expensive cleanup logic which can take longer than the session timeout.



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