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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]