Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
3.9.0
Description
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.
Attachments
Issue Links
- is related to
-
KAFKA-16985 Ensure consumer sends leave request on close even if interrupted
- Patch Available
- relates to
-
KAFKA-17519 Define and validate correctness of Consumer.close() and its timeout when thread is interrupted
- Open