[
https://issues.apache.org/jira/browse/KAFKA-10122?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17128763#comment-17128763
]
John Roesler commented on KAFKA-10122:
--------------------------------------
Thanks, Guozhang! I feel like this was my oversight when I added the new api
calls. Thanks for catching it.
> Consumer should allow heartbeat during rebalance as well
> --------------------------------------------------------
>
> Key: KAFKA-10122
> URL: https://issues.apache.org/jira/browse/KAFKA-10122
> Project: Kafka
> Issue Type: Improvement
> Reporter: Guozhang Wang
> Assignee: Guozhang Wang
> Priority: Major
>
> Today we disable heartbeats if the {{state != MemberState.STABLE}}. And if a
> rebalance failed we set the state to UNJOINED. In the old API {{poll(long)}}
> it is okay since we always try to complete the rebalance successfully within
> the same call, so we would not be in UNJOINED or REBALANCING for a very long
> time.
> But with the new {{poll(Duration)}} we may actually return while we are still
> in UNJOINED or REBALANCING and it may take some time (smaller than
> max.poll.interval but larger than session.timeout) before the next poll call,
> and since heartbeat is disabled during this period of time we could be kicked
> by the coordinator.
> The proposal I have is
> 1) allow heartbeat to be sent during REBALANCING as well.
> 2) when join/sync response has retriable error, do not set the state to
> UNJOINED but stay with REBALANCING.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)