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]

Reply via email to