[ 
https://issues.apache.org/jira/browse/KAFKA-15533?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Schofield resolved KAFKA-15533.
--------------------------------------
    Resolution: Resolved

Already resolved

> Ensure HeartbeatRequestManager only send out some fields once
> -------------------------------------------------------------
>
>                 Key: KAFKA-15533
>                 URL: https://issues.apache.org/jira/browse/KAFKA-15533
>             Project: Kafka
>          Issue Type: Sub-task
>          Components: clients, consumer
>            Reporter: Philip Nee
>            Assignee: Philip Nee
>            Priority: Minor
>              Labels: kip-848, kip-848-client-support
>
> We want to ensure ConsumerGroupHeartbeatRequest is as lightweight as 
> possible, so a lot of fields in it don't need to be resend. An example would 
> be the rebalanceTimeoutMs, currently we have the following code:
>  
>  
> {code:java}
> ConsumerGroupHeartbeatRequestData data = new 
> ConsumerGroupHeartbeatRequestData()
>     .setGroupId(membershipManager.groupId())
>     .setMemberEpoch(membershipManager.memberEpoch())
>     .setMemberId(membershipManager.memberId())
>     .setRebalanceTimeoutMs(rebalanceTimeoutMs); {code}
>  
>  
> We should encapsulate these once-used fields into a class such as 
> HeartbeatMetdataBuilder, and it should maintain a state of whether a certain 
> field needs to be sent or not.
>  
> Note that, currently only 3 fields are mandatory in the request:
>  * groupId
>  * memberEpoch
>  * memberId
> Note that on retriable errors and network errors (ex. timeout) a full request 
> should be sent to the broker.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to