[
https://issues.apache.org/jira/browse/KAFKA-17518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17881068#comment-17881068
]
Lianet Magrans commented on KAFKA-17518:
----------------------------------------
I would add to this Jira, that it would be a good validation if we can end this
with an integration test that calls close(0) and ensures that the group becomes
empty. I expect such test would pass on trunk for the classic consumer now (it
does send the leave group, without waiting for a response because it has 0
timeout), but same test requires this Jira to pass for the async consumer.
(Discussion on KAFKA-16985 PR has more context since it was there where this
issue was discovered)
> AsyncKafkaConsumer cannot reliably leave group when closed with small timeout
> -----------------------------------------------------------------------------
>
> Key: KAFKA-17518
> URL: https://issues.apache.org/jira/browse/KAFKA-17518
> Project: Kafka
> Issue Type: Bug
> Components: clients, consumer
> Affects Versions: 3.9.0
> Reporter: Kirk True
> Priority: Major
> Labels: consumer-threading-refactor, kip-848-client-support
>
> If {{close()}} is called with a short timeout (e.g. 0 ms), the process cannot
> complete, leading to the consumer remaining in the consumer group.
> On {{{}close(){}}}, the consumer attempts to unsubscribe and leave the
> consumer group. This process requires hops back and forth between the
> application and background threads to call the
> {{{}ConsumerRebalanceListener{}}}. Those hops add a nonzero amount of time to
> the close step.
> The events used to communicate between the application and background threads
> are based on the timeout provided by the user. If the timeout is not
> sufficient, the events will expire, and the process will be left incomplete.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)