Conversation
…s added to a transaction (apache#26644)
…n denial logs (apache#26642) Apply the configured role logging anonymizer consistently to topic authorization denial logs.
…reateSchema (apache#26643) Check topic permissions for binary GetSchema and GetOrCreateSchema requests and retain the schema and transaction tests when merging master.
…or failed attempts Treat overlapping snapshot triggers as expected and release the in-flight guard on every acquired path. Preserve the existing snapshot interval and propagate recovery failures without interrupting successful publish completion. Assisted-by: GPT-6 Astra
lhotari
force-pushed
the
lh-perfopt-dedup-snapshot-coalescing
branch
from
September 19, 2026 18:47
a315551 to
ea144d0
Compare
lhotari
changed the base branch from
lh-perfopt-dedup-snapshot-base
to
master
September 19, 2026 18:47
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.
Motivation
Deduplication snapshots are asynchronous and intentionally allow only one cursor mark-delete at a time. At high publish rates, the entry threshold can expire several times before the current snapshot completes. This expected overlap currently emits a warning for every skipped attempt.
Two failure paths can also leave
snapshotTakingset indefinitely. A publish completion can race with disabling deduplication and observe a null cursor after acquiring the guard, andasyncMarkDeletecan throw synchronously before installing a callback. After either case, later snapshots are suppressed even after deduplication is enabled again.Modifications
Validation
The change is based directly on current
masterand was verified with:BrokerMessageDeduplicationTest.MessageDuplicationTest.quickCheck.The same workload was profiled with and without this patch:
The candidate run experienced more CPU thermal throttling, and adjacent runs showed substantial cache and thermal variation. The table establishes that warning churn is removed while delivery remains correct; it is intentionally not presented as a throughput comparison. This change fixes snapshot recovery and removes misleading warnings rather than claiming a capacity improvement.
Does this pull request potentially affect one of the following parts: