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

   *More detailed description of your change,
   if necessary. The PR title and PR message become
   the squashed commit message, so use a separate
   comment to ping reviewers.*
   
   [KAFKA-16025](https://issues.apache.org/jira/browse/KAFKA-16025) describes 
the race condition sequence in detail. When this occurs, it can cause the 
impacted task's initializing to block indefinitely, blocking progress on the 
impacted task, and any other task assigned to the same stream thread. The fix I 
have implemented is pretty simple, simply re-check whether a directory is still 
empty after locking it during the start of rebalancing, and if it is, unlock it 
immediately. This preserves the idempotency of the method when it coincides 
with parallel state store cleanup executions.
   
   *Summary of testing strategy (including rationale)
   for the feature or bug fix. Unit and/or integration
   tests are expected for any behaviour change and
   system tests should be considered for larger changes.*
   
   Tested using `./gradlew streams:tests`. I also tested replicating the race 
condition, and validated that with this fix, task initializing does not get 
blocked.
   
   ### Committer Checklist (excluded from commit message)
   - [ ] Verify design and implementation 
   - [ ] Verify test coverage and CI build status
   - [ ] Verify documentation (including upgrade notes)
   


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