[
https://issues.apache.org/jira/browse/HADOOP-10278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13900099#comment-13900099
]
Hiroshi Ikeda commented on HADOOP-10278:
----------------------------------------
[~chrilisf] CallQueue and its subclass break the contract of BlockingQueue, and
actually CallQueue is not needed to implement BlockingQueue. CallQueue is used
for ipc.Server and it requires only 3 methods put(), take(), and size(), so it
is natural idea to extract CallQueue as interface and/or create an adapter
class from BlockingQueue or something to CallQueue. I think synchronization
logic (including dynamically changing substantial queues if needed) should be
encapsulated inside the adapter implementation.
> Refactor to make CallQueue pluggable
> ------------------------------------
>
> Key: HADOOP-10278
> URL: https://issues.apache.org/jira/browse/HADOOP-10278
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: ipc
> Reporter: Chris Li
> Attachments: HADOOP-10278-atomicref-rwlock.patch,
> HADOOP-10278-atomicref.patch, HADOOP-10278-atomicref.patch,
> HADOOP-10278-atomicref.patch, HADOOP-10278.patch, HADOOP-10278.patch
>
>
> * Refactor CallQueue into an interface, base, and default implementation that
> matches today's behavior
> * Make the call queue impl configurable, keyed on port so that we minimize
> coupling
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)