rdhabalia commented on pull request #11627:
URL: https://github.com/apache/pulsar/pull/11627#issuecomment-896643612


   The history behind introducing TooManyRequest error is to handle 
backpressure for zookeeper by throttling a large number of concurrent topics 
loading during broker cold restart. Therefore, pulsar has lookup throttling at 
both client and server-side that slows down lookup because lookup ultimately 
triggers topic loading at server side. So, when a client sees TooManyRequest 
errors, the client should retry to perform this operation and the client will 
eventually reconnect to the broker, TooManyRequest can not harm the broker 
because broker already has a safeguard to reject the flood of the requests. 
   I am not sure what problem https://github.com/apache/pulsar/pull/6584 PR 
tries to solve but it should not solve it by making TooManyRequest 
non-retriable. TooManyRequest is a retriable error and the client should retry. 
Also, it should definitely not close the producer/consumer due to this error 
otherwise it can bring down the entire application which depends on the 
availability of the pulsar client entities.Pulsar lookup is an operation 
similar to other operations such as: connect, publish, subscribe, etc. So, I 
don’t think it needs special treatment with a separate timeout config and we 
can avoid the complexity introduced in this PR that caches and depends on the 
previously seen exception for lookup retry. Anyways, removing TooManyRequest 
from the non-retriable error list will simplify the client behavior and we can 
avoid the complexity of this PR.


-- 
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-unsubscr...@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to