You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Jason Gustafson (JIRA)" <ji...@apache.org> on 2018/02/26 23:11:00 UTC

[jira] [Commented] (KAFKA-6593) Coordinator disconnect in heartbeat thread can cause commitSync to block indefinitely

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

Jason Gustafson commented on KAFKA-6593:
----------------------------------------

I was wrong about the explanation. The {{ConsumerNetworkClient}} already has some protection from this kind of scenario (e.g. it limits the maximum poll time to 5 seconds). So something else is going on in the case that I'm looking at.

> Coordinator disconnect in heartbeat thread can cause commitSync to block indefinitely
> -------------------------------------------------------------------------------------
>
>                 Key: KAFKA-6593
>                 URL: https://issues.apache.org/jira/browse/KAFKA-6593
>             Project: Kafka
>          Issue Type: Bug
>          Components: consumer
>    Affects Versions: 1.0.0, 0.11.0.2
>            Reporter: Jason Gustafson
>            Assignee: Jason Gustafson
>            Priority: Major
>             Fix For: 1.1.0
>
>
> If a coordinator disconnect is observed in the heartbeat thread, it can cause a pending offset commit to be cancelled just before the foreground thread begins waiting on its response in poll(). Since the poll timeout is Long.MAX_VALUE, this will cause the consumer to effectively hang until some other network event causes the poll() to return. We try to protect this case with a poll condition on the future, but this isn't bulletproof since the future can be completed outside of the lock.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)