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

   ### Summary
   - Reset the reconciliation-in-progress latch when synchronous reconciliation 
setup fails.
   - Handle synchronous failures while starting revocation and assignment 
without breaking the consumer background loop.
   - Add regression coverage proving the next reconciliation loop retries 
successfully.
   
   ### Motivation
   A RuntimeException thrown after reconciliation starts but before its 
asynchronous future chain is established can leave the membership manager 
permanently stuck because `reconciliationInProgress` remains true. This change 
treats that setup failure as a failed attempt, preserves the existing 
auto-commit failure behavior, and allows the next poll to retry.
   
   ### Testing
   - `./gradlew :clients:test --tests 
org.apache.kafka.clients.consumer.internals.ConsumerMembershipManagerTest`
   - `./gradlew :clients:test --tests 
org.apache.kafka.clients.consumer.internals.ConsumerMembershipManagerTest 
--tests 
org.apache.kafka.clients.consumer.internals.StreamsMembershipManagerTest 
--tests org.apache.kafka.clients.consumer.internals.ShareMembershipManagerTest`
   - `./gradlew :clients:check --no-build-cache --console=plain`
   
   Fixes KAFKA-20860


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

Reply via email to