Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
3.7.0
Description
When leaving a group (due to close or unsubscribe), the consumer needs to run revocation callbacks. In the case where this callbacks fail (user error or timeout due to long running callback), the consumer should still clear its epoch and send a leave group heartbeat. This is currently the case for unsubscribe but not for close, so should be fixed.
Also note that clearing the epoch even if the callback fails is needed to ensure that the last epoch is not used anymore in offset commit requests after the member leaves the group (ex. when auto-commit enabled).
Also note that this should still be applied (clear epoch) if a member that is running the callbacks to leave get fenced. It does not need to send the leave group request but should take all leaving action to leave the client in a consistent state (avoiding auto-commits that could happen while it leaves, that would use the fenced epoch)
Attachments
Issue Links
- fixes
-
KAFKA-16022 AsyncKafkaConsumer sometimes complains “No current assignment for partition {}”
- Closed
- is related to
-
KAFKA-16290 Investigate propagating subscription state updates via queues
- Resolved
- links to