fix(binding-kafka): guard budget credit against released creditor slot - #2204
Open
ankitk-me wants to merge 3 commits into
Open
fix(binding-kafka): guard budget credit against released creditor slot#2204ankitk-me wants to merge 3 commits into
ankitk-me wants to merge 3 commits into
Conversation
…t in cache client produce fan KafkaCacheClientProduceFan.onClientInitialData/onClientInitialFlush called creditor.credit(traceId, partitionIndex, reserved) unconditionally, even after onClientFanInitialClosed() had already released the budget slot and reset partitionIndex to NO_CREDITOR_INDEX (-1L). A member stream whose produce reply was closed via onClientFanReplyEnd/onClientFanReplyAbort keeps its own initial open (only the reply side is forwarded to members), so a still-producing app client can deliver another DATA/FLUSH frame that reaches the fan and credits a released slot. DefaultBudgetCreditor.credit computes a garbage negative buffer offset from the sentinel index and throws an IndexOutOfBoundsException that terminates the whole EngineWorker agent thread, dropping every unrelated connection on that worker. Guard both credit() call sites on partitionIndex != NO_CREDITOR_INDEX, and mirror the aklivity#1303 stream-level guard (!KafkaState.initialClosed(state)) onto the FLUSH path, which had been left with a bare else since that fix only covered DATA. Fixes aklivity#2179 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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.
fixes #2179