> IMO, the more serious problem about `disableAutoread` is > Producer/Consumer isolation issue, > since they shares the connection. For example, if topic-A is rate-limited, > topic-B in the same client is also affected.
Exactly. The rate-limiting won't even work properly since other rate limiters operating on the same connection will enable autoread and this results in inconsistent behavior. -Lari On Thu, Apr 7, 2022 at 10:53 AM Haiting Jiang <jianghait...@apache.org> wrote: > > send receipt to producer, the producer maybe timeout already. > > It's always possible that client got timeout, but the message is actually > successfully written, > causing by network issue. > > IMO, the more serious problem about `disableAutoread` is Producer/Consumer > isolation issue, > since they shares the connection. For example, if topic-A is rate-limited, > topic-B in the same > client is also affected. > > Thanks, > Haiting > > On 2022/04/07 07:13:50 Jiuming Tao wrote: > > Hi all: > > According to the issue ( > https://github.com/apache/pulsar/issues/15038), when producer send a > message to broker and broker rate-limited at that time, the request will > blocked in buffer, after broker read the message and send receipt to > producer, the producer maybe timeout already. > > So, in the case, do we need to provider a new flow-control > strategy(fail-fast)? It can be configurable, when broker in rate-limit, > broker not `disableAutoread` and reply a `FlowControlException` instead. > > > > Thanks, > > Tao Jiuming >