[ 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)