[ 
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)

Reply via email to