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

Enis Soztutar commented on HBASE-16008:
---------------------------------------

bq. And All tools which need disable one switch can't be run simultaneously? 
This maybe one problem some day.
I was suggesting (offline) that instead of having a single znode, we can have a 
parent znode, and every tool instance that needs the master to be in 
maintenance mode will create a child znode there. As long as there is at least 
one child znode, the master remains in maintenance mode. Kind of a reference 
count mechanism. We can use this to implement a manual switch as well, by 
having a non-ephemeral znode written for the switch. 

> A robust way deal with early termination of HBCK
> ------------------------------------------------
>
>                 Key: HBASE-16008
>                 URL: https://issues.apache.org/jira/browse/HBASE-16008
>             Project: HBase
>          Issue Type: Improvement
>          Components: hbck
>            Reporter: Stephen Yuan Jiang
>            Assignee: Stephen Yuan Jiang
>
> When HBCK is running, we want to disable Catalog Janitor, Balancer and 
> Split/Merge.  Today, the implementation is not robust.  If HBCK is terminated 
> earlier by Control-C, the changed state would not be reset to original.  
> HBASE-15406 was trying to solve this problem for Split/Merge switch.  The 
> implementation is complicated, and it did not solve CJ and Balancer.  
> We also have another problem is that to prevent multiple HBCK run, we used a 
> file lock to indicate a running HBCK; earlier terminating might not clean up 
> the file.  Sometimes we have to manually remove the file so that future HBCK 
> could run.  
> The proposal to solve all the problem is to use a znode to indicate that one 
> HBCK is running.  CJ, balancer, and Split/Merge switch all look for this 
> znode before doing it operation.  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to