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]
