NACK broken messages when using rabbitmq storage#102157
Merged
grantholly-clickhouse merged 3 commits intoClickHouse:masterfrom Apr 9, 2026
Merged
NACK broken messages when using rabbitmq storage#102157grantholly-clickhouse merged 3 commits intoClickHouse:masterfrom
grantholly-clickhouse merged 3 commits intoClickHouse:masterfrom
Conversation
Contributor
|
Workflow [PR], commit [1f62fea] Summary: ✅ AI ReviewSummaryThis PR fixes a real correctness issue in Missing context
ClickHouse Rules
Final Verdict
|
alexey-milovidov
approved these changes
Apr 9, 2026
Contributor
LLVM Coverage Report
Changed lines: 66.67% (10/15) | lost baseline coverage: 2 line(s) · Uncovered code |
Member
|
The |
Merged
via the queue into
ClickHouse:master
with commit Apr 9, 2026
bcbd2b5
321 of 324 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes into CHANGELOG.md):
NACK broken messages when using rabbitmq storage
Details:
Bugfix for #73541: when rabbitmq_handle_error_mode = 'default' (the default) and a RabbitMQ message fails to parse, the exception escapes generateImpl before the message's delivery tag is recorded in commit_info. The message, already dequeued from the internal buffer by consume, is then never ack'd or nack'd — it stays permanently "in flight" in RabbitMQ. The fix wraps executor.execute(*buf) in a try-catch that captures the delivery tag before re-throwing. An integration test verifies that bad messages are properly nack'd to a dead-letter exchange.