-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
[improve] [broker] Add additionalSystemCursorNames ignore list for TTL check #22614
[improve] [broker] Add additionalSystemCursorNames ignore list for TTL check #22614
Conversation
@hangc0276 Maybe we'd better introduce a system subscription concept to avoid the TTL, backlog quota policy(consumer eviction) applied to the system subscription. For example:
|
@codelipenghui Make sense. Updated the code. |
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
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.
I added a review with some details to address.
I think we have a principle to create PIPs when we add new features to Pulsar. The PIP document could be a "1 pager" and minimal. Do you have a plan to document this change as a PIP document?
pulsar-broker-common/src/main/java/org/apache/pulsar/broker/ServiceConfiguration.java
Outdated
Show resolved
Hide resolved
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentTopic.java
Outdated
Show resolved
Hide resolved
@lhotari Thanks for your review. I created a PIP for this change. Please help take a look, thanks. #22651 |
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
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #22614 +/- ##
============================================
- Coverage 73.57% 73.11% -0.46%
+ Complexity 32624 32467 -157
============================================
Files 1877 1888 +11
Lines 139502 141113 +1611
Branches 15299 15487 +188
============================================
+ Hits 102638 103179 +541
- Misses 28908 29962 +1054
- Partials 7956 7972 +16
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Fixes #xyz
Main Issue: #xyz
PIP: #xyz
Motivation
Message TTL will move the cursors based on the configured
ttlDurationDefaultInSeconds
. However, for those system topics' cursors, such as compaction service cursor, transaction system topic cursor, and even some third-party plugins cursors, should not or don't want to be impacted by the TTL.We have one PR #21865 to filter the compaction service cursors for TTL check, but doesn't cover other system topics cursors. To provide a general solution and support third-party plugin cursors not impacted by TTL, I proposed to add a systemCursorNames ignore list to filter the TTL check.
Modifications
Add a configuration in
conf/broker.conf
to support filter subscriptions for TTL check.Verifying this change
(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)
Does this pull request potentially affect one of the following parts:
If the box was checked, please highlight the changes
Documentation
doc
doc-required
doc-not-needed
doc-complete
Matching PR in forked repository
PR in forked repository: