[
https://issues.apache.org/jira/browse/HADOOP-10278?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chris Li updated HADOOP-10278:
------------------------------
Attachment: HADOOP-10278-atomicref-adapter.patch
Latest version of atomicref-adapter swaps by using handlers to clear the calls,
choreographed by using two refs for put and take.
We use a software version of double clocking to ensure the queue is likely
empty. This should decrease the probability of dropping calls to highly
unlikely. And losing calls isn't the end of the world either, since the client
handles IPC timeouts with retries.
Tests updated too, since the queue can only be swapped when there are active
readers.
Here's what a live swap looks like:
!http://i.imgur.com/g28zJ7u.png!
> 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-adapter.patch,
> HADOOP-10278-atomicref-adapter.patch, HADOOP-10278-atomicref-adapter.patch,
> HADOOP-10278-atomicref-rwlock.patch, HADOOP-10278-atomicref.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)