[ 
https://issues.apache.org/jira/browse/HBASE-4298?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13140455#comment-13140455
 ] 

Aravind Gottipati commented on HBASE-4298:
------------------------------------------

I haven't had the time to figure out how to write unit tests for this, but here 
are the test cases I ran through.

Setup a cluster with 5 or more region servers and a bunch of regions.

1.  Mark a server (server A) as draining (using zkCli) and then shutdown a 
different server (server B) - check to make sure that server A does not get any 
more new regions.
2.  Mark a server (server A) as draining (using zkCli) and then go through all 
the regions on that server and assign them (from the cli), they should all end 
up on different servers and by the end, server A should not have any regions 
left on it.
3.  Mark a server (server A) as draining (using zkCli), disable the balancer 
and drain server A (as in step 2).  Then enable the balancer again and verify 
that server A does not get any new regions.
4.  Remove the server (server A) from the draining list, and check that it gets 
regions when the balancer next runs.

I ran through other scenarios/tests like this, but with multipls servers in the 
draining list.  We could probably repeat the above tests, but with two servers 
in the drain list..

                
> Support to drain RS nodes through ZK
> ------------------------------------
>
>                 Key: HBASE-4298
>                 URL: https://issues.apache.org/jira/browse/HBASE-4298
>             Project: HBase
>          Issue Type: Improvement
>          Components: master
>    Affects Versions: 0.90.4
>         Environment: all
>            Reporter: Aravind Gottipati
>            Priority: Critical
>              Labels: patch
>             Fix For: 0.92.0, 0.90.5
>
>         Attachments: 4298-trunk-v2.txt, 90_hbase.patch, trunk_hbase.patch
>
>
> HDFS currently has a way to exclude certain datanodes and prevent them from 
> getting new blocks.  HDFS goes one step further and even drains these nodes 
> for you.  This enhancement is a step in that direction.
> The idea is that we mark nodes in zookeeper as draining nodes.  This means 
> that they don't get any more new regions.  These draining nodes look exactly 
> the same as the corresponding nodes in /rs, except they live under /draining.
> Eventually, support for draining them can be added.  I am submitting two 
> patches for review - one for the 0.90 branch and one for trunk (in git).
> Here are the two patches
> 0.90 - 
> https://github.com/aravind/hbase/commit/181041e72e7ffe6a4da6d82b431ef7f8c99e62d2
> trunk - 
> https://github.com/aravind/hbase/commit/e127b25ae3b4034103b185d8380f3b7267bc67d5
> I have tested both these patches and they work as advertised.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to