+1 On Fri, 17 Dec 2021 at 13:56, 陳智弘 <thomasec...@gmail.com> wrote:
> +1 > > Sijie Guo <guosi...@gmail.com> 於 2021年12月17日 週五 12:38 寫道: > > > +1 > > > > On Tue, Dec 14, 2021 at 11:20 AM Matteo Merli <mme...@apache.org> 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> > > > > > >