lianetm commented on code in PR #15375: URL: https://github.com/apache/kafka/pull/15375#discussion_r1491222723
########## clients/src/main/java/org/apache/kafka/clients/consumer/internals/MembershipManagerImpl.java: ########## @@ -685,13 +690,6 @@ public boolean shouldHeartbeatNow() { @Override public void onHeartbeatRequestSent() { MemberState state = state(); - if (isStaled()) { - log.debug("Member {} is staled and is therefore leaving the group. It will rejoin upon the next poll.", memberEpoch); - // TODO: Integrate partition revocation/loss callback - transitionToJoining(); - return; - } - Review Comment: Do you mean comment here? The handling is all over the manager really, but the main logic is in the transition functions I would say: `transitionToJoining`, `transitionToFenced`, `transitionToFatal`, `transitionToSendingLeaveGroup`, `transitionToUnsubscribed`, `transitionToStale`, and the `reconcile` of course. Each state handling func usually needs to take specific actions for the transitions, but also considering how things might have changed. This is a state machine that changes with inputs from 2 sides: API calls, and broker HB responses, so lots of things can change, anytime, while we transition from A to B. -- 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