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)