-
Notifications
You must be signed in to change notification settings - Fork 580
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[transaction] Fix group_*_tx events compaction #6086
Conversation
Fail
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. Please comment this PR with a add link to the ci-failure issue for each failing test (one comment per failure); if issue doesn't exist and it isn't caused by this change - create an issue and mark it with pr-blocker
label; mark pr blockers as BLOCKER in the comment to this PR (see #6003 as an example).
Small refactor to reuse function to build store_offset batch
It is fix for redpanda-data#5163. Problem is group_*_tx contains only producer_id in key, so compaction save only last records for this events. We need only save in logs consumed offset after commit_txs. For this we can write store_offset event together with group_commit_tx. Problem: this 2 events contains different record batch type. So we can not put it in one batch and write on disk atomically. But it is not a problem, because client got ok for commit_request (see tx_gateway_frontend). So redpanda will eventually finish commit and complete write for both this events.
01a79b7
to
75463f1
Compare
Failure from first run was #5886 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice fix!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Cover letter
Problem is group_*_tx contains only producer_id in key, so compaction save only last records for this events.
We need only save in logs consumed offset after commit_txs. For this we can write store_offset event together with group_commit_tx.
New Problem: this 2 events contains different record batch type. So we can not put it in one batch and write on disk atomically. But it is not a problem, because client got ok for commit_request (see tx_gateway_frontend). So redpanda will eventually finish commit and complete write for both this events.
Fixes #5163
Backport Required
UX changes
Release notes
Bug Fixes
group_*_tx log
records