cadonna commented on code in PR #14879:
URL: https://github.com/apache/kafka/pull/14879#discussion_r1414403764


##########
clients/src/main/java/org/apache/kafka/clients/consumer/internals/HeartbeatRequestManager.java:
##########
@@ -232,6 +235,16 @@ private void onResponse(final 
ConsumerGroupHeartbeatResponse response, long curr
             this.heartbeatRequestState.onSuccessfulAttempt(currentTimeMs);
             this.heartbeatRequestState.resetTimer();
             
this.membershipManager.onHeartbeatResponseReceived(response.data());
+            if (previousGroupMetadataUdateEvent == null ||
+                previousGroupMetadataUdateEvent.memberEpoch() != 
membershipManager.memberEpoch()) {
+
+                final GroupMetadataUpdateEvent currentGroupMetadataUpdateEvent 
= new GroupMetadataUpdateEvent(
+                    membershipManager.memberEpoch(),
+                    previousGroupMetadataUdateEvent == null ? 
membershipManager.memberId() : previousGroupMetadataUdateEvent.memberId()
+                );
+                
this.backgroundEventHandler.add(currentGroupMetadataUpdateEvent);
+                previousGroupMetadataUdateEvent = 
currentGroupMetadataUpdateEvent;
+            }

Review Comment:
   @dajac @lucasbru @kirktrue @AndrewJSchofield Could you please sanity check 
this code snippet?
   The heartbeat request manager should only send an group metadata update 
event if it is the first heartbeat response it gets (i.e. 
`previousGroupMetadataUdateEvent == null`), because that sets the member ID and 
the member ID never changes after this. Or the member epoch changed in the last 
heartbeat response (i.e., previousGroupMetadataUdateEvent.memberEpoch() != 
membershipManager.memberEpoch()).
   
   Does this make sense?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to