merlimat opened a new pull request, #3575:
URL: https://github.com/apache/bookkeeper/pull/3575

   ### Motivation
   
   The OrderedExecutor queue must be really unbounded or we are subject to 
deadlocks when a large number of tasks are submitted and may be depending on 
tasks that are going to be executed on the same executor.
   
   Renamed the `GrowableArrayBlockingQueue` into 
`GrowableMpScArrayConsumerBlockingQueue` and optimized for single consumer 
scenario. 
   
   Added test to ensure the `SingleThreadExecutor` is really unbound.
   
   Added simple benchmark test scenario that uses 2 queues and 2 threads 
passing a bounded number of messages between each others, as fast as possible:
   
   
https://github.com/apache/bookkeeper/compare/master...merlimat:bookkeeper:fix-ordered-executor-max-size?expand=1#diff-e8f29aa89f5bf7b81642d51409ab37e220c9a066c009f24b82bafbfb8bc3e4e6R248
   ```
   ArrayBlockingQueue: Throughput 27.433703 Millions items/s
   LinkedBlockingQueue: Throughput 17.744839 Millions items/s
   GrowableMpScArrayConsumerBlockingQueue: Throughput 61.425191 Millions items/s
   ```


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