SS-455 - source: commit Kafka offsets on change and on a timer - #39462
martykulma wants to merge 2 commits into
Conversation
QA LLM Review1. MEDIUM -- Idle partitions are never re-committed, so the broker expires their consumer-group offsets
With the DetailsOn Suggested fix: keep the dedup, but re-commit unchanged offsets once the last successful commit is older than a refresh interval set well below typical broker retention (for example one hour, or a dyncfg). Because #39461 switched to |
Brokers expire a standalone group's offset per partition offsets.retention.minutes after its last commit, so offsets the dedupe skips must still be recommitted periodically. The interval is the kafka_offset_commit_refresh_interval dyncfg, 10 minutes by default and 10 seconds in CI, with zero disabling the refresh. Co-Authored-By: Claude <noreply@anthropic.com>
7e97474 to
e1893ed
Compare
Confirmed and addressed |
Each worker commits only when its offsets change, plus on a timer. The timer is needed because the consumer only ever assigns partitions, which results in the brokers treating the group as standalone. For standalone groups, brokers expire a partition's offset offsets.retention.minutes after its last commit, whether or not it is still current. The interval is the kafka_offset_commit_refresh_interval dyncfg: 10 minutes by default, 10 seconds in CI, zero disables it. A failed commit is retried on the next resume upper.
🤖 Generated with Claude Code
👨 Improved by human