+1 (non-binding)

Haiting

On 2021/12/14 19:20:02 Matteo Merli wrote:
> https://github.com/apache/pulsar/issues/13306
> 
> 
> Pasted below for quoting convenience.
> 
> 
> --------
> 
> ## Motivation
> 
> In Pulsar 2.8, we have introduced a setting to control the amount of memory
> used by a client instance.
> 
> ```java
> interface ClientBuilder {
>     ClientBuilder memoryLimit(long memoryLimit, SizeUnit unit);
> }
> ```
> 
> By default, in 2.8 and 2.9 this setting is set to 0, meaning no limit is being
> enforced.
> 
> I think it's a good time for 2.10 to enable this setting by default and,
> correspondingly, to disable by default the producer queue size limit.
> 
> This will simplify a lot the configuration that a producer application will
> have to come up with, when publishing with many topic/partitions or
> when messages
> are bigger than expected.
> 
> ## Proposed changes
> 
> In 2.10 release, for the `ClientBuilder`, change
>   * `memoryLimit`: 0 -> 64 MB
> 
> For the `ProducerBuilder`, changes
>   * `maxPendingMessages`: 1000 -> 0
> 
> 64MB is picked because it's a small enough memory size that will guarantee
> a very high producer throughput, irrespective of the individual messages size.
> 
> 
> 
> --
> Matteo Merli
> <mme...@apache.org>
> 

Reply via email to