[fix][broker] Fix totalAvailablePermits not reduced when removing consumer from non-persistent dispatcher - #24885
Merged
Conversation
Technoboy-
approved these changes
Oct 23, 2025
Contributor
|
/pulsarbot rerun-failure-checks |
Codecov Report✅ All modified and coverable lines are covered by tests.
Additional details and impacted files@@ Coverage Diff @@
## master #24885 +/- ##
=============================================
- Coverage 74.38% 38.60% -35.78%
+ Complexity 33513 100 -33413
=============================================
Files 1913 1856 -57
Lines 149317 145334 -3983
Branches 17331 16905 -426
=============================================
- Hits 111064 56101 -54963
- Misses 29422 81647 +52225
+ Partials 8831 7586 -1245
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Contributor
|
/pulsarbot rerun-failure-checks |
dao-jun
approved these changes
Oct 27, 2025
manas-ctds
pushed a commit
to datastax/pulsar
that referenced
this pull request
Oct 29, 2025
…sumer from non-persistent dispatcher (apache#24885) (cherry picked from commit ebfff58) (cherry picked from commit 8b3245f)
priyanshu-ctds
pushed a commit
to datastax/pulsar
that referenced
this pull request
Oct 29, 2025
…sumer from non-persistent dispatcher (apache#24885) (cherry picked from commit ebfff58) (cherry picked from commit 048df0d)
srinath-ctds
pushed a commit
to datastax/pulsar
that referenced
this pull request
Oct 30, 2025
…sumer from non-persistent dispatcher (apache#24885) (cherry picked from commit ebfff58) (cherry picked from commit 048df0d)
nodece
pushed a commit
to ascentstream/pulsar
that referenced
this pull request
Oct 30, 2025
…sumer from non-persistent dispatcher (apache#24885) (cherry picked from commit ebfff58)
srinath-ctds
pushed a commit
to datastax/pulsar
that referenced
this pull request
Nov 6, 2025
…sumer from non-persistent dispatcher (apache#24885) (cherry picked from commit ebfff58) (cherry picked from commit 8b3245f)
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
When
NonPersistentDispatcherMultipleConsumersremoves a consumer via theremoveConsumer()method, theTOTAL_AVAILABLE_PERMITS_UPDATERis not properly decremented when there are multiple consumers (consumers' size > 1). This creates an inconsistency where the dispatcher maintains an inflated count of available permits after consumer removalModifications
Added logic in
NonPersistentDispatcherMultipleConsumers.removeConsumer()to properly decrementTOTAL_AVAILABLE_PERMITS_UPDATERby the removed consumer's available permits when consumers' size > 1Added test case
testTotalAvailablePermitsWhenRemoveConsumer()to verify:Initial permit counting works correctly
Permit reduction happens properly when removing consumers
Verifying this change
Does this pull request potentially affect one of the following parts:
If the box was checked, please highlight the changes
Documentation
docdoc-requireddoc-not-neededdoc-completeMatching PR in forked repository
PR in forked repository: 3pacccccc#28