Details
-
Sub-task
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
None
Description
Provide the Java client support for the consumer group partition assignment logic, including:
- Calculate the difference between the current partition assignment and that returned in the ConsumerGroupHeartbeatResponse RPC response
- Ensure we handle the case where changes to the assignment take multiple passes of RequestManager.poll()
- Integrate the mechanism to invoke the user’s rebalance callback
This task is part of the work to implement support for the new KIP-848 consumer group protocol.
One challenge to solve here is that callback execution, when triggered from the unsubscribe, would require the user to poll for complete the callbacks and then return in the unsubscribe (legacy unubscribe does not require user poll). We might need to re-think callbacks execution considering that they do need to be executed in the app thread, but should not require the user to poll (seeing that they are not events directly generated by the user. They are generated internally by the background thread, to be executed in the app thread)
Attachments
Issue Links
- is related to
-
KAFKA-15574 Update states and transitions for membership manager state machine
- Resolved
-
KAFKA-15573 Implement auto-commit on partition assignment revocation
- Closed
- links to