lianetm opened a new pull request, #15375:
URL: https://github.com/apache/kafka/pull/15375

   This fixes an invalid transition (leaving->stale) that was discovered in the 
system tests. The underlying issue was that the poll timer expiration logic was 
blindly forcing a transition to stale and sending a leave group, without 
considering that the member could be already leaving. 
   The fix included in this PR ensures that the poll timer expiration logic, 
whose purpose is to leave the group, is only applied if the member is not 
already leaving. Note that it also fixes the transition out of the STALE state, 
that should only happen when the poll timer is reset. 
   
   As a result of this changes:
   - If the poll timer expires while the member is not leaving, the poll timer 
expiration logic is applied: it will transition to stale, send a leave group, 
and remain in STALE state until the timer is reset. At that point the member 
will transition to JOINING to rejoin the group. 
   - If the poll timer expires while the member is already leaving, the poll 
timer expiration logic does not apply, and just lets the HB continue. Not that 
this would be the case of member in PREPARE_LEAVING waiting for callbacks to 
complete (needs to continue sending HB), or LEAVING (needs to send the last HB 
to leave).


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