[ 
https://issues.apache.org/jira/browse/HADOOP-10302?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Li updated HADOOP-10302:
------------------------------

    Attachment: subtask2_runtime_swap_internal.patch

Depends on subtask1

Swapping is done through the reconfigure(CallQueue<E> newQ) method on custom 
CallQueue impls.  The old call queue is given the responsibility of swapping to 
the new queue, which it will either accept or reject.

Both old and new queues are frozen during a swap, not accepting new takes or 
puts.

When queues have been swapped (or not in case of failure), they are unfrozen. 
Producers and consumers waiting on the old queue are awoken and begin drawing 
from the new queue.

CallQueueBase is modified in order to handle waiting() while frozen and drawing 
from the next queue after a successful swap.


> Allow CallQueue impls to be swapped at runtime (part 1: internals)
> ------------------------------------------------------------------
>
>                 Key: HADOOP-10302
>                 URL: https://issues.apache.org/jira/browse/HADOOP-10302
>             Project: Hadoop Common
>          Issue Type: Sub-task
>            Reporter: Chris Li
>         Attachments: subtask2_runtime_swap_internal.patch
>
>
> We wish to swap the active call queue during runtime in order to do 
> performance tuning without restarting the namenode.
> This patch adds only the internals necessary to swap. Part 2 will add a user 
> interface so that it can be used.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to