merlimat opened a new issue #13306:
URL: https://github.com/apache/pulsar/issues/13306


   ## 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.
   


-- 
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