[ https://issues.apache.org/jira/browse/KAFKA-16816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Colin McCabe updated KAFKA-16816: --------------------------------- Fix Version/s: 4.0.0 (was: 3.9.0) > Remove unneeded FencedInstanceId support on commit path for new consumer > ------------------------------------------------------------------------ > > Key: KAFKA-16816 > URL: https://issues.apache.org/jira/browse/KAFKA-16816 > Project: Kafka > Issue Type: Task > Components: clients, consumer > Reporter: Lianet Magrans > Assignee: Lianet Magrans > Priority: Major > Labels: kip-848-client-support > Fix For: 4.0.0 > > > The new consumer contains logic related to handling FencedInstanceId > exception received as a response to an OffsetCommit request (on the > [consumer|https://github.com/apache/kafka/blob/028e7a06dcdca7d4dbeae83f2fce0a4120cc2753/clients/src/main/java/org/apache/kafka/clients/consumer/internals/AsyncKafkaConsumer.java#L776] > and [commit > manager|https://github.com/apache/kafka/blob/028e7a06dcdca7d4dbeae83f2fce0a4120cc2753/clients/src/main/java/org/apache/kafka/clients/consumer/internals/CommitRequestManager.java#L715]), > but with the new group protocol, we will never get that error on a commit > response. We should remove the code that expects the FencedInstanceId on the > commit response, and also clean up the other related usages that we added to > propagate the FencedInstanceId exception on the poll, commitSync and > commitAsync API. Note that throwing that exception is part of the contract of > the poll, commitSync and commitAsync APIs of the KafkaConsumer, but it > changes with the new protocol. We should update the java doc for the new > AsyncKafkaConsumer to reflect the change. > > With the new protocol If a consumer tries to commit offsets, there could be 2 > cases: > # empty group -> commit succeeds, fencing an instance id would never happen > because group is empty > # non-empty group -> commit fails with UnknownMemberId, indicating that the > member is not known to the group. The consumer needs to join the non-empty > group in order to commit offsets to it. To complete the story, the moment the > consumer attempts to join, it will receive an UnreleasedInstanceId error on > the HB response, indicating it using a groupInstanceId that is already in use. -- This message was sent by Atlassian Jira (v8.20.10#820010)