binarybrain-009 opened a new pull request, #18687: URL: https://github.com/apache/iceberg/pull/18687
`CommitterImpl.close()` decided whether to stop its coordinator by describing the connect group, but `close()` runs during the rebalance that revokes the partitions. The description can show members with no assignments, or, under cooperative rebalancing, no longer show the revoked leader partition, so the coordinator kept running and the next task's `open()` started a second one, as diagnosed in #17637. `close()` now checks the revoked partitions against the leader partition from the description seen when the task was elected, as suggested on the issue, so revoking only other partitions keeps the coordinator. #18039 fences such an orphan on its next transactional write; this stops it from being left running. Test plan: a coordinator elected in `open()` must stop when `close()` revokes the leader partition while the group description shows no assignments or no longer shows that partition (both cases fail without this change), and must keep running when only another partition is revoked. The kafka-connect suite passes. Fixes #17637 --- **AI Disclosure** - Model: Claude Opus 5.5 - Platform/Tool: Claude Code - Human Oversight: fully reviewed - Prompt Summary: Fix #17637 following the approach suggested on the issue; the `CommitterImpl` change and its tests are generated -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
