You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by GitBox <gi...@apache.org> on 2022/10/28 19:14:48 UTC
[GitHub] [pulsar] heesung-sn opened a new pull request, #18254: [fix][broker] Deprecated aggregatePublisherStatsByProducerName config
heesung-sn opened a new pull request, #18254:
URL: https://github.com/apache/pulsar/pull/18254
<!--
### Contribution Checklist
- PR title format should be *[type][component] summary*. For details, see *[Guideline - Pulsar PR Naming Convention](https://docs.google.com/document/d/1d8Pw6ZbWk-_pCKdOmdvx9rnhPiyuxwq60_TrD68d7BA/edit#heading=h.trs9rsex3xom)*.
- Fill out the template below to describe the changes contributed by the pull request. That will give reviewers the context they need to do the review.
- Each pull request should address only one issue, not mix up code from multiple issues.
- Each commit in the pull request has a meaningful commit message
- Once all items of the checklist are addressed, remove the above text and this checklist, leaving only the filled out template below.
-->
### Motivation
The index-based publisher stat aggregation(configured by `aggregatePublisherStatsByProducerName`=false, default) can burst memory and wrongly aggregate publisher metrics if each partition stat returns a different size or order of the publisher list.
In the worst case, if there are many partitions and publishers created and closed concurrently, the current code can create PublisherStatsImpl objects exponentially, and this can cause a high GC time or OOM.
Issue Code reference:
https://github.com/apache/pulsar/commit/2c428f7fcc740525e8120566c0272fc863ffebf1#diff-02e50674125a597f8ae3405a884590759f2fdaa10104cea511d5ea44b6ff6490R224-R247
<!-- Explain here the context, and why you're making that change. What is the problem you're trying to solve. -->
### Modifications
- Deprecated the `aggregatePublisherStatsByProducerName` broker config because the default, the index-based aggregation is inherently wrong in a highly concurrent producer environment(where the order and size of the publisher stat list are not guaranteed to be the same). The publisher stats need to be aggregated by a unique key, the producer name(aggregatePublisherStatsByProducerName=true).
- If PublisherStatsImpl.publisherName happens to be null, it will aggregate it with the stat object with "null" name. (However, this is unlikely because the broker generates a globally unique name If not given.)
- Use HashMap instead List to aggregate publisher stats.
- Removed sorting from getPublisher(), as this can be expensive for a large number of publishers.
- Simplified the stat aggregation code.
<!-- Describe the modifications you've done. -->
### Verifying this change
- [x] Make sure that the change passes the CI checks.
This change added unit tests.
### Does this pull request potentially affect one of the following parts:
*If the box was checked, please highlight the changes*
- [ ] Dependencies (add or upgrade a dependency)
- [x] The public API
- [ ] The schema
- [x] The default values of configurations
- [ ] The threading model
- [ ] The binary protocol
- [ ] The REST endpoints
- [ ] The admin CLI options
- [ ] Anything that affects deployment
### Documentation
<!-- DO NOT REMOVE THIS SECTION. CHECK THE PROPER BOX ONLY. -->
- [ ] `doc` <!-- Your PR contains doc changes. Please attach the local preview screenshots (run `sh start.sh` at `pulsar/site2/website`) to your PR description, or else your PR might not get merged. -->
- [x] `doc-required` <!-- Your PR changes impact docs and you will update later -->
- [] `doc-not-needed` <!-- Your PR changes do not impact docs -->
- [ ] `doc-complete` <!-- Docs have been already added -->
### Matching PR in forked repository
PR in forked repository: https://github.com/heesung-sn/pulsar/pull/13
<!--
After opening this PR, the build in apache/pulsar will fail and instructions will
be provided for opening a PR in the PR author's forked repository.
apache/pulsar pull requests should be first tested in your own fork since the
apache/pulsar CI based on GitHub Actions has constrained resources and quota.
GitHub Actions provides separate quota for pull requests that are executed in
a forked repository.
The tests will be run in the forked repository until all PR review comments have
been handled, the tests pass and the PR is approved by a reviewer.
-->
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [pulsar] equanz commented on pull request #18254: [fix][broker] Deprecated aggregatePublisherStatsByProducerName config
Posted by GitBox <gi...@apache.org>.
equanz commented on PR #18254:
URL: https://github.com/apache/pulsar/pull/18254#issuecomment-1314690535
I have no other suggestions. Why don't you discuss or vote on the dev@ ML before introducing this feature?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [pulsar] heesung-sn commented on pull request #18254: [fix][broker] Deprecated aggregatePublisherStatsByProducerName config
Posted by GitBox <gi...@apache.org>.
heesung-sn commented on PR #18254:
URL: https://github.com/apache/pulsar/pull/18254#issuecomment-1314508133
@equanz,
To fix the issue, do you have any other suggestions other than what I mentioned above?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [pulsar] Technoboy- commented on a diff in pull request #18254: [fix][broker] Deprecated aggregatePublisherStatsByProducerName config
Posted by GitBox <gi...@apache.org>.
Technoboy- commented on code in PR #18254:
URL: https://github.com/apache/pulsar/pull/18254#discussion_r1010320591
##########
pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/stats/PublisherStatsImpl.java:
##########
@@ -49,8 +49,9 @@ public class PublisherStatsImpl implements PublisherStats {
/** Id of this publisher. */
public long producerId;
- /** Whether partial producer is supported at client. */
- public boolean supportsPartialProducer;
+ /** Whether partial producer is supported at client. supportsPartialProducer is true always. */
+ @Deprecated
+ public boolean supportsPartialProducer = true;
Review Comment:
Why still keep this ?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [pulsar] heesung-sn commented on a diff in pull request #18254: [fix][broker] Deprecated aggregatePublisherStatsByProducerName config
Posted by GitBox <gi...@apache.org>.
heesung-sn commented on code in PR #18254:
URL: https://github.com/apache/pulsar/pull/18254#discussion_r1010629681
##########
pulsar-client-admin-api/src/main/java/org/apache/pulsar/common/policies/data/PublisherStats.java:
##########
@@ -44,6 +44,7 @@ public interface PublisherStats {
long getProducerId();
/** Whether partial producer is supported at client. */
+ @Deprecated
boolean isSupportsPartialProducer();
Review Comment:
This is already exposed to the client interface. Are we allowed to make a breaking change?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [pulsar] heesung-sn commented on pull request #18254: [fix][broker] Deprecated aggregatePublisherStatsByProducerName config
Posted by GitBox <gi...@apache.org>.
heesung-sn commented on PR #18254:
URL: https://github.com/apache/pulsar/pull/18254#issuecomment-1306501167
Yes, this pr is not backward-compatible to deprecate the broken feature.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [pulsar] equanz commented on pull request #18254: [fix][broker] Deprecated aggregatePublisherStatsByProducerName config
Posted by GitBox <gi...@apache.org>.
equanz commented on PR #18254:
URL: https://github.com/apache/pulsar/pull/18254#issuecomment-1305417873
In my understanding, old partitioned producer clients are not aggregated by producerName completely. So, this PR introduce breaking changes to them.
Partitioned producers have the same producerName between partitions as default from https://github.com/apache/pulsar/pull/10279 commit.
Therefore, I kept a list-indexed aggregation for backward compatibility.
https://github.com/apache/pulsar/pull/12401
I think we should not introduce breaking changes, at least between the same major versions.
In addition, I think this approach doesn't *deprecate* a feature but removes a feature.
Users can't disable `aggregatePublisherStatsByProducerName` from config.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [pulsar] heesung-sn commented on pull request #18254: [fix][broker] Deprecated aggregatePublisherStatsByProducerName config
Posted by GitBox <gi...@apache.org>.
heesung-sn commented on PR #18254:
URL: https://github.com/apache/pulsar/pull/18254#issuecomment-1312084363
@equanz,
Thank you for sharing the example.
Although it is not desirable, I think we could be more lenient on this stat API change(assuming this `publishers` stat struct is used for human admins only for ad-hoc checks).
If this breaking change is not acceptable, I guess we could push this to the next major version.
Also for the next major version,
when there are more than thousands of producers(consumers) for a (partitioned-)topic, it is expensive to aggregate each publisher(subscriptions)'s stats on-the-fly across the brokers. I think we could further define producers(subscriptions)' API like the below and drop the `publishers` and `subscriptions` structs from `topics (partitioned-)stats` returns.
```
pulsar-admin publishers list my-topic --last-pagination-key xyz
pulsar-admin publishers stats my-producer
# similarly for subscriptions
````
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [pulsar] equanz commented on pull request #18254: [fix][broker] Deprecated aggregatePublisherStatsByProducerName config
Posted by GitBox <gi...@apache.org>.
equanz commented on PR #18254:
URL: https://github.com/apache/pulsar/pull/18254#issuecomment-1311168182
For example, when enabling `aggregatePublisherStatsByProducerName` in the v2.10.1 server
```
% grep 'aggregatePublisherStatsByProducerName' conf/standalone.conf
aggregatePublisherStatsByProducerName=true
```
and create the partitioned producer to the partitioned topic by the v2.8.4 client,
```
./bin/pulsar-perf produce -r 1 -s 10 persistent://public/default/pt
...
11:28:34.053 [main] INFO org.apache.pulsar.testclient.PerformanceProducer - Starting Pulsar perf producer with config: {
...
"producerName" : null,
...
11:28:34.969 [pulsar-client-io-2-1] INFO org.apache.pulsar.client.impl.ProducerImpl - [persistent://public/default/pt-partition-0] [standalone-0-1] Created producer on cnx [id: 0x0e5ab2e4, L:/127.0.0.1:49990 - R:localhost/127.0.0.1:6650]
11:28:34.992 [pulsar-client-io-2-1] INFO org.apache.pulsar.client.impl.ProducerImpl - [persistent://public/default/pt-partition-1] [standalone-0-0] Created producer on cnx [id: 0x32a3290d, L:/127.0.0.1:49989 - R:localhost/127.0.0.1:6650]
...
```
then the broker returns partitioned topic stats like the one below.
```
% ./bin/pulsar-admin topics partitioned-stats persistent://public/default/pt
...
"publishers" : [ {
"msgRateIn" : 0.0,
"msgThroughputIn" : 0.0,
"averageMsgSize" : 0.0,
"chunkedMessageRate" : 0.0,
"producerId" : 0,
"supportsPartialProducer" : false
} ],
...
```
However, when running with your fixes on the server side and creating a producer to a partitioned topic by the v2.8.4 client,
```
% ./bin/pulsar-perf produce -r 1 -s 10 persistent://public/default/pt
...
"producerName" : null,
...
11:30:37.289 [pulsar-client-io-2-1] INFO org.apache.pulsar.client.impl.ProducerImpl - [persistent://public/default/pt-partition-1] [standalone-0-1] Created producer on cnx [id: 0x393b0652, L:/127.0.0.1:50035 - R:localhost/127.0.0.1:6650]
11:30:37.307 [pulsar-client-io-2-1] INFO org.apache.pulsar.client.impl.ProducerImpl - [persistent://public/default/pt-partition-0] [standalone-0-0] Created producer on cnx [id: 0x9b73aa95, L:/127.0.0.1:50034 - R:localhost/127.0.0.1:6650]
...
```
then the broker returns partitioned topic stats like the one below. As you can see, publishers can't be aggregated by producerName even if the partitioned producer is alone in the partitioned topic. It is breaking changes. Is it allowed on this project?
```
% ./bin/pulsar-admin topics partitioned-stats persistent://public/default/pt
...
"publishers" : [ {
"msgRateIn" : 0.0,
"msgThroughputIn" : 0.0,
"averageMsgSize" : 0.0,
"chunkedMessageRate" : 0.0,
"producerId" : 0,
"supportsPartialProducer" : true,
"producerName" : "standalone-0-1"
}, {
"msgRateIn" : 0.0,
"msgThroughputIn" : 0.0,
"averageMsgSize" : 0.0,
"chunkedMessageRate" : 0.0,
"producerId" : 0,
"supportsPartialProducer" : true,
"producerName" : "standalone-0-0"
} ],
...
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [pulsar] codecov-commenter commented on pull request #18254: [fix][broker] Deprecated aggregatePublisherStatsByProducerName config
Posted by GitBox <gi...@apache.org>.
codecov-commenter commented on PR #18254:
URL: https://github.com/apache/pulsar/pull/18254#issuecomment-1298401502
# [Codecov](https://codecov.io/gh/apache/pulsar/pull/18254?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
> Merging [#18254](https://codecov.io/gh/apache/pulsar/pull/18254?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (6228a5c) into [master](https://codecov.io/gh/apache/pulsar/commit/6c65ca0d8a80bfaaa4d5869e0cea485f5c94369b?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (6c65ca0) will **increase** coverage by `3.96%`.
> The diff coverage is `35.90%`.
[![Impacted file tree graph](https://codecov.io/gh/apache/pulsar/pull/18254/graphs/tree.svg?width=650&height=150&src=pr&token=acYqCpsK9J&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/pulsar/pull/18254?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
```diff
@@ Coverage Diff @@
## master #18254 +/- ##
============================================
+ Coverage 34.91% 38.88% +3.96%
- Complexity 5707 8307 +2600
============================================
Files 607 685 +78
Lines 53396 67330 +13934
Branches 5712 7215 +1503
============================================
+ Hits 18644 26180 +7536
- Misses 32119 38132 +6013
- Partials 2633 3018 +385
```
| Flag | Coverage Δ | |
|---|---|---|
| unittests | `38.88% <35.90%> (+3.96%)` | :arrow_up: |
Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#carryforward-flags-in-the-pull-request-comment) to find out more.
| [Impacted Files](https://codecov.io/gh/apache/pulsar/pull/18254?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
|---|---|---|
| [...org/apache/bookkeeper/mledger/LedgerOffloader.java](https://codecov.io/gh/apache/pulsar/pull/18254/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-bWFuYWdlZC1sZWRnZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2Jvb2trZWVwZXIvbWxlZGdlci9MZWRnZXJPZmZsb2FkZXIuamF2YQ==) | `0.00% <ø> (ø)` | |
| [...che/bookkeeper/mledger/LedgerOffloaderFactory.java](https://codecov.io/gh/apache/pulsar/pull/18254/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-bWFuYWdlZC1sZWRnZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2Jvb2trZWVwZXIvbWxlZGdlci9MZWRnZXJPZmZsb2FkZXJGYWN0b3J5LmphdmE=) | `0.00% <ø> (ø)` | |
| [...pache/bookkeeper/mledger/LedgerOffloaderStats.java](https://codecov.io/gh/apache/pulsar/pull/18254/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-bWFuYWdlZC1sZWRnZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2Jvb2trZWVwZXIvbWxlZGdlci9MZWRnZXJPZmZsb2FkZXJTdGF0cy5qYXZh) | `0.00% <ø> (ø)` | |
| [...ookkeeper/mledger/LedgerOffloaderStatsDisable.java](https://codecov.io/gh/apache/pulsar/pull/18254/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-bWFuYWdlZC1sZWRnZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2Jvb2trZWVwZXIvbWxlZGdlci9MZWRnZXJPZmZsb2FkZXJTdGF0c0Rpc2FibGUuamF2YQ==) | `0.00% <ø> (ø)` | |
| [...a/org/apache/bookkeeper/mledger/ManagedCursor.java](https://codecov.io/gh/apache/pulsar/pull/18254/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-bWFuYWdlZC1sZWRnZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2Jvb2trZWVwZXIvbWxlZGdlci9NYW5hZ2VkQ3Vyc29yLmphdmE=) | `85.71% <ø> (ø)` | |
| [...che/bookkeeper/mledger/ManagedLedgerException.java](https://codecov.io/gh/apache/pulsar/pull/18254/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-bWFuYWdlZC1sZWRnZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2Jvb2trZWVwZXIvbWxlZGdlci9NYW5hZ2VkTGVkZ2VyRXhjZXB0aW9uLmphdmE=) | `41.17% <ø> (ø)` | |
| [...bookkeeper/mledger/ManagedLedgerFactoryConfig.java](https://codecov.io/gh/apache/pulsar/pull/18254/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-bWFuYWdlZC1sZWRnZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2Jvb2trZWVwZXIvbWxlZGdlci9NYW5hZ2VkTGVkZ2VyRmFjdG9yeUNvbmZpZy5qYXZh) | `86.66% <ø> (ø)` | |
| [...g/apache/bookkeeper/mledger/ManagedLedgerInfo.java](https://codecov.io/gh/apache/pulsar/pull/18254/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-bWFuYWdlZC1sZWRnZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2Jvb2trZWVwZXIvbWxlZGdlci9NYW5hZ2VkTGVkZ2VySW5mby5qYXZh) | `22.22% <ø> (ø)` | |
| [...he/bookkeeper/mledger/OffloadedLedgerMetadata.java](https://codecov.io/gh/apache/pulsar/pull/18254/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-bWFuYWdlZC1sZWRnZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2Jvb2trZWVwZXIvbWxlZGdlci9PZmZsb2FkZWRMZWRnZXJNZXRhZGF0YS5qYXZh) | `0.00% <ø> (ø)` | |
| [...ava/org/apache/bookkeeper/mledger/ScanOutcome.java](https://codecov.io/gh/apache/pulsar/pull/18254/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-bWFuYWdlZC1sZWRnZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2Jvb2trZWVwZXIvbWxlZGdlci9TY2FuT3V0Y29tZS5qYXZh) | `0.00% <ø> (ø)` | |
| ... and [729 more](https://codecov.io/gh/apache/pulsar/pull/18254/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | |
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [pulsar] poorbarcode commented on pull request #18254: [fix][broker] Deprecated aggregatePublisherStatsByProducerName config
Posted by GitBox <gi...@apache.org>.
poorbarcode commented on PR #18254:
URL: https://github.com/apache/pulsar/pull/18254#issuecomment-1299561284
/pulsarbot rerun-failure-checks
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [pulsar] heesung-sn closed pull request #18254: [fix][broker] Deprecated aggregatePublisherStatsByProducerName config
Posted by GitBox <gi...@apache.org>.
heesung-sn closed pull request #18254: [fix][broker] Deprecated aggregatePublisherStatsByProducerName config
URL: https://github.com/apache/pulsar/pull/18254
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [pulsar] Technoboy- closed pull request #18254: [fix][broker] Deprecated aggregatePublisherStatsByProducerName config
Posted by GitBox <gi...@apache.org>.
Technoboy- closed pull request #18254: [fix][broker] Deprecated aggregatePublisherStatsByProducerName config
URL: https://github.com/apache/pulsar/pull/18254
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [pulsar] Technoboy- commented on a diff in pull request #18254: [fix][broker] Deprecated aggregatePublisherStatsByProducerName config
Posted by GitBox <gi...@apache.org>.
Technoboy- commented on code in PR #18254:
URL: https://github.com/apache/pulsar/pull/18254#discussion_r1010320911
##########
pulsar-client-admin-api/src/main/java/org/apache/pulsar/common/policies/data/PublisherStats.java:
##########
@@ -44,6 +44,7 @@ public interface PublisherStats {
long getProducerId();
/** Whether partial producer is supported at client. */
+ @Deprecated
boolean isSupportsPartialProducer();
Review Comment:
Why not remove this ?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [pulsar] heesung-sn commented on pull request #18254: [fix][broker] Deprecated aggregatePublisherStatsByProducerName config
Posted by GitBox <gi...@apache.org>.
heesung-sn commented on PR #18254:
URL: https://github.com/apache/pulsar/pull/18254#issuecomment-1314736755
Opened a pulsar community discussion thread here.
https://lists.apache.org/thread/vofv1oz0wvzlwk4x9vk067rhkscn8bqo
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [pulsar] michaeljmarshall commented on a diff in pull request #18254: [fix][broker] Deprecated aggregatePublisherStatsByProducerName config
Posted by GitBox <gi...@apache.org>.
michaeljmarshall commented on code in PR #18254:
URL: https://github.com/apache/pulsar/pull/18254#discussion_r1016166458
##########
pulsar-client-admin-api/src/main/java/org/apache/pulsar/common/policies/data/PublisherStats.java:
##########
@@ -44,6 +44,7 @@ public interface PublisherStats {
long getProducerId();
/** Whether partial producer is supported at client. */
+ @Deprecated
boolean isSupportsPartialProducer();
Review Comment:
I think this is the correct change. If it has already been released, we cannot remove it without first deprecating it. I don't know that we have documented guidance on how long to keep methods like this marked as deprecated.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [pulsar] heesung-sn commented on a diff in pull request #18254: [fix][broker] Deprecated aggregatePublisherStatsByProducerName config
Posted by GitBox <gi...@apache.org>.
heesung-sn commented on code in PR #18254:
URL: https://github.com/apache/pulsar/pull/18254#discussion_r1010630808
##########
pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/stats/PublisherStatsImpl.java:
##########
@@ -49,8 +49,9 @@ public class PublisherStatsImpl implements PublisherStats {
/** Id of this publisher. */
public long producerId;
- /** Whether partial producer is supported at client. */
- public boolean supportsPartialProducer;
+ /** Whether partial producer is supported at client. supportsPartialProducer is true always. */
+ @Deprecated
+ public boolean supportsPartialProducer = true;
Review Comment:
The getter of this member var is already exposed to the client interface. Are we allowed to make a breaking change?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org