[
https://issues.apache.org/jira/browse/KAFKA-9823?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Guozhang Wang resolved KAFKA-9823.
----------------------------------
Fix Version/s: 2.6.0
Resolution: Fixed
> Consumer should check equality of the generation for coordinator requests
> -------------------------------------------------------------------------
>
> Key: KAFKA-9823
> URL: https://issues.apache.org/jira/browse/KAFKA-9823
> Project: Kafka
> Issue Type: Bug
> Components: consumer
> Reporter: Guozhang Wang
> Assignee: Guozhang Wang
> Priority: Major
> Fix For: 2.6.0
>
>
> In consumer's requests to group coordinator (heartbeat, join-group,
> sync-group, commit; leave-group is not considered since consumer do not check
> its responses anyways), we encoded the generation / member information and
> the response may indicate that the member.id is invalid or generation is
> stale, which would cause consumer to reset and re-join group.
> However, when the response is sent back it is possible that the consumer has
> already started re-join due to other channels indicating it out of the group,
> and hence resetting would introduce unnecessarily more re-joining operations.
> We should, instead, remember the generation information that was sent along
> with the request and upon getting the response compare that with the current
> generation information. If they do not match it means the responded error
> indicating stale information has been updated in other places and hence can
> be handled differently (for example, in heartbeat handling we can just ignore
> the error).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)