[ 
https://issues.apache.org/jira/browse/KAFKA-16639?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17842099#comment-17842099
 ] 

Chia-Ping Tsai commented on KAFKA-16639:
----------------------------------------

check the code again. It seems there are two possible bugs if we change the 
state to `LEAVING` before receiving the heartbeat response

1. 
https://github.com/apache/kafka/commit/8c0488b887be4a9178563f1d72514010f83b8614 
ignore the response and leave the member id be empty. That obstructs from 
leaving the group as server will reject the request (epoch=-1 and member is 
empty)

2. 
https://github.com/apache/kafka/blob/636e65aa6b3558a7ae239ce69579b62ab3377fcb/clients/src/main/java/org/apache/kafka/clients/consumer/internals/HeartbeatRequestManager.java#L212
 could ignore the request due to in-flight request.

> AsyncKafkaConsumer#close does not send heartbeat to leave group
> ---------------------------------------------------------------
>
>                 Key: KAFKA-16639
>                 URL: https://issues.apache.org/jira/browse/KAFKA-16639
>             Project: Kafka
>          Issue Type: Bug
>          Components: clients, consumer
>            Reporter: Chia-Ping Tsai
>            Assignee: Philip Nee
>            Priority: Major
>              Labels: kip-848-client-support
>
> This bug can be reproduced by immediately closing a consumer which is just 
> created.
> The root cause is that we skip the new heartbeat used to leave group when 
> there is a in-flight heartbeat request 
> ([https://github.com/apache/kafka/blob/5de5d967adffd864bad3ec729760a430253abf38/clients/src/main/java/org/apache/kafka/clients/consumer/internals/HeartbeatRequestManager.java#L212).]
> It seems to me the simple solution is that we create a heartbeat request when 
> meeting above situation and then send it by pollOnClose 
> ([https://github.com/apache/kafka/blob/5de5d967adffd864bad3ec729760a430253abf38/clients/src/main/java/org/apache/kafka/clients/consumer/internals/RequestManager.java#L62).]
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to