You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@bookkeeper.apache.org by GitBox <gi...@apache.org> on 2022/03/14 06:25:56 UTC

[GitHub] [bookkeeper] lhotari opened a new issue #3105: Improve performance of OrderedExecutor by switching to a more performant BlockingQueue implementation

lhotari opened a new issue #3105:
URL: https://github.com/apache/bookkeeper/issues/3105


   **FEATURE REQUEST**
   
   [OrderedExecutor uses `LinkedBlockingQueue`](https://github.com/apache/bookkeeper/blob/3db4de9da1447e2a5135ac9330d4347b9d220a0d/bookkeeper-common/src/main/java/org/apache/bookkeeper/common/util/OrderedExecutor.java#L307-L308) (when `enableBusyWait`=false). This is not optimal. 
   
   It looks like @merlimat introduced [GrowableArrayBlockingQueue](https://github.com/apache/bookkeeper/blob/master/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/collections/GrowableArrayBlockingQueue.java) with the intention to replace `LinkedBlockingQueue` usage with `GrowableArrayBlockingQueue`. However the swtich hasn't happened.
   > In multiple places, (eg: journal, ordered executor, etc..), we are using LinkedBlockingQueue instances to pass objects between threads.
   See #153
   
   ### Additional context
   
   The proposal of this issue is to make this change since it would be an alternative mitigation for #1791 . The changes in #1792 will most likely need to be reverted because the change introduced thread safety issues such as #3104. By improving the queue implementation, there would be better performance without breaking thread safety.
   
   
   


-- 
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: issues-unsubscribe@bookkeeper.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [bookkeeper] lhotari commented on issue #3105: Improve performance of OrderedExecutor by switching to a more performant BlockingQueue implementation

Posted by GitBox <gi...@apache.org>.
lhotari commented on issue #3105:
URL: https://github.com/apache/bookkeeper/issues/3105#issuecomment-1066544555


   Pulsar contains GrowableArrayBlockingQueue too, https://github.com/apache/pulsar/blob/master/pulsar-common/src/main/java/org/apache/pulsar/common/util/collections/GrowableArrayBlockingQueue.java . I picked one fix to the BK version of GrowableArrayBlockingQueue when comparing the classes. 


-- 
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: issues-unsubscribe@bookkeeper.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [bookkeeper] eolivelli closed issue #3105: Improve performance of OrderedExecutor by switching to a more performant BlockingQueue implementation

Posted by GitBox <gi...@apache.org>.
eolivelli closed issue #3105:
URL: https://github.com/apache/bookkeeper/issues/3105


   


-- 
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: issues-unsubscribe@bookkeeper.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [bookkeeper] lhotari removed a comment on issue #3105: Improve performance of OrderedExecutor by switching to a more performant BlockingQueue implementation

Posted by GitBox <gi...@apache.org>.
lhotari removed a comment on issue #3105:
URL: https://github.com/apache/bookkeeper/issues/3105#issuecomment-1066544555


   Pulsar contains GrowableArrayBlockingQueue too, https://github.com/apache/pulsar/blob/master/pulsar-common/src/main/java/org/apache/pulsar/common/util/collections/GrowableArrayBlockingQueue.java . I picked one fix to the BK version of GrowableArrayBlockingQueue when comparing the classes. 


-- 
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: issues-unsubscribe@bookkeeper.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org