Guozhang Wang created KAFKA-9823:
------------------------------------
Summary: 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
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)