You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bookkeeper.apache.org by "Matteo Merli (JIRA)" <ji...@apache.org> on 2017/05/11 18:30:04 UTC

[jira] [Created] (BOOKKEEPER-1066) Introduce GrowableArrayBlockingQueue

Matteo Merli created BOOKKEEPER-1066:
----------------------------------------

             Summary: Introduce GrowableArrayBlockingQueue
                 Key: BOOKKEEPER-1066
                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-1066
             Project: Bookkeeper
          Issue Type: Improvement
            Reporter: Matteo Merli
            Assignee: Matteo Merli
            Priority: Minor
             Fix For: 4.5.0


In multiple places, (eg: journal, ordered executor, etc..), we are using {{LinkedBlockingQueue}} instances to pass objects between threads.

The {{LinkedBlockingQueue}} differs from the {{ArrayBlockingQueue}} in that it doesn't require to define a max queue size, though, being implemented with a linked list, it requires to allocates list nodes each time an item is added.

We can use a {{GrowableArrayBlockingQueue}} that behaves in the same way as the {{LinkedBlockingQueue}}, but it's implemented with an array that can be resized when the queue reaches the capacity.





--
This message was sent by Atlassian JIRA
(v6.3.15#6346)