lhotari commented on issue #25083: URL: https://github.com/apache/pulsar/issues/25083#issuecomment-3664144052
> 1. When should the client-side looping stop? Should we move the two server params(`subscriptionBacklogScanMaxEntries ` and `subscriptionBacklogScanMaxTimeMs `) to client side(as input params), and add one more param to set `backlogScanMaxEntries` in client-side every single loop, so the client side can control the loop termination condition, and set every scan request timeout? The server parameters should remain on the server side. On the client side there could be separate parameters for limiting the looping. The server will return `ScanOutcome.COMPLETED` in `AnalyzeBacklogResult.scanOutcome` field when the operation completes. > 2\. From the issue description, seems we need to add a new method to `TopicsImpl` to support setting these params, and pass the default values to new method in old method to avoid breaking changes. Yes, the client side implementation would require a new method. For the `pulsar-admin` command implementation, it would be useful to keep using the same `pulsar-admin topics analyze-backlog` command. The default limit for client side max entries value could be 10000 to prevent the change of behavior. By default, it could use the client side looping (and result aggregation). For progress reporting, I think that the output should go to stderr by default and the json output to stdout so that it could be parsed. There could be a `--quiet/-q` option for disabling progress reporting. -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
