lianetm commented on code in PR #14357: URL: https://github.com/apache/kafka/pull/14357#discussion_r1361441480
########## clients/src/main/java/org/apache/kafka/clients/consumer/internals/MembershipManagerImpl.java: ########## @@ -248,4 +261,28 @@ public void updateAssignment(ConsumerGroupHeartbeatResponseData.Assignment assig } maybeTransitionToStable(); } + + @Override + public void completeReconcile(Set<TopicPartition> revokedPartitions, + Set<TopicPartition> assignedPartitions, + Optional<KafkaException> callbackError) { + if (callbackError.isPresent()) { + // TODO: how to react to callback errors? + } + + assignmentReconciler.completeReconcile(revokedPartitions, assignedPartitions); + transitionTo(MemberState.STABLE); + // TODO: update state to signal the HeartbeatRequestManager to send an ACK heartbeat + } + + @Override + public void completeLost(Set<TopicPartition> lostPartitions, Optional<KafkaException> callbackError) { + if (callbackError.isPresent()) { + // TODO: how to react to callback errors? + } + + assignmentReconciler.completeLost(lostPartitions); + transitionTo(MemberState.UNJOINED); + // TODO: update state to signal the HeartbeatRequestManager to send an ACK heartbeat Review Comment: uhm we do need to sort this out. One option I'm thinking about is I'm aiming at being able to have states that will easily indicate to the HB manager if it "shouldHeartbeatNow" (FENCED || RECONCILIATION_COMPLETED), making sure that we only transition to those when truly ready to HB (all callbacks completed). Right now the HB manager has a "shouldSendHeartbeat" but that's conceptually indicating more of a `shouldSkipHeartbeat` (if FAILED or NOT_IN_GROUP) so we need to be mindful about identifying both situations in the HB manager poll. Thoughts? -- 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