You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Kirk True (Jira)" <ji...@apache.org> on 2023/08/01 00:20:00 UTC
[jira] [Updated] (KAFKA-15278) Implement client support for KIP-848 ConsumerGroupHeartbeat protocol RPC
[ https://issues.apache.org/jira/browse/KAFKA-15278?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kirk True updated KAFKA-15278:
------------------------------
Description:
The protocol introduces three new RPCs that the client uses to communicate with the broker:
# [ConsumerGroupHeartbeat|https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol#KIP848:TheNextGenerationoftheConsumerRebalanceProtocol-ConsumerGroupHeartbeatAPI]
# [ConsumerGroupPrepareAssignment|https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol#KIP848:TheNextGenerationoftheConsumerRebalanceProtocol-ConsumerGroupPrepareAssignmentAPI]
# [ConsumerGroupInstallAssignment|https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol#KIP848:TheNextGenerationoftheConsumerRebalanceProtocol-ConsumerGroupInstallAssignmentAPI]
The necessary Java code that represents the {{ConsumerGroupHeartbeatRequest}} and {{ConsumerGroupHeartbeatResponse}} are already present in the codebase. It is assumed that the scaffolding for the other two will come along in time.
* Implement {{ConsumerGroupRequestManager}}
* Ensure that {{DefaultBackgroundThread}} correctly calculates I/O timeouts so that the heartbeat occurs within the {{group.consumer.session.timeout.ms}} interval regardless of other {{RequestManager}} instance activity
This task is part of the work to implement support for the new KIP-848 consumer group protocol.
was:
The protocol introduces three new RPCs that the client uses to communicate with the broker:
# [ConsumerGroupHeartbeat|https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol#KIP848:TheNextGenerationoftheConsumerRebalanceProtocol-ConsumerGroupHeartbeatAPI]
# [ConsumerGroupPrepareAssignment|https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol#KIP848:TheNextGenerationoftheConsumerRebalanceProtocol-ConsumerGroupPrepareAssignmentAPI]
# [ConsumerGroupInstallAssignment|https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol#KIP848:TheNextGenerationoftheConsumerRebalanceProtocol-ConsumerGroupInstallAssignmentAPI]
The necessary Java code that represents the {{ConsumerGroupHeartbeatRequest}} and {{ConsumerGroupHeartbeatResponse}} are already present in the codebase. It is assumed that the scaffolding for the other two will come along in time.
* Implement {{ConsumerGroupRequestManager }}
* Ensure that {{DefaultBackgroundThread}} correctly calculates I/O timeouts so that the heartbeat occurs within the {{group.consumer.session.timeout.ms}} interval regardless of other {{RequestManager}} instance activity
This task is part of the work to implement support for the new KIP-848 consumer group protocol.
> Implement client support for KIP-848 ConsumerGroupHeartbeat protocol RPC
> ------------------------------------------------------------------------
>
> Key: KAFKA-15278
> URL: https://issues.apache.org/jira/browse/KAFKA-15278
> Project: Kafka
> Issue Type: Task
> Components: clients, consumer
> Reporter: Kirk True
> Assignee: Kirk True
> Priority: Major
> Labels: consumer-threading-refactor, kip-848
>
> The protocol introduces three new RPCs that the client uses to communicate with the broker:
> # [ConsumerGroupHeartbeat|https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol#KIP848:TheNextGenerationoftheConsumerRebalanceProtocol-ConsumerGroupHeartbeatAPI]
> # [ConsumerGroupPrepareAssignment|https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol#KIP848:TheNextGenerationoftheConsumerRebalanceProtocol-ConsumerGroupPrepareAssignmentAPI]
> # [ConsumerGroupInstallAssignment|https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol#KIP848:TheNextGenerationoftheConsumerRebalanceProtocol-ConsumerGroupInstallAssignmentAPI]
> The necessary Java code that represents the {{ConsumerGroupHeartbeatRequest}} and {{ConsumerGroupHeartbeatResponse}} are already present in the codebase. It is assumed that the scaffolding for the other two will come along in time.
> * Implement {{ConsumerGroupRequestManager}}
> * Ensure that {{DefaultBackgroundThread}} correctly calculates I/O timeouts so that the heartbeat occurs within the {{group.consumer.session.timeout.ms}} interval regardless of other {{RequestManager}} instance activity
> This task is part of the work to implement support for the new KIP-848 consumer group protocol.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)