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

Stephen Yuan Jiang updated HBASE-16008:
---------------------------------------
    Description: 
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.  

The proposal to solve the problem is to use a znode to indicate that the HBCK 
is running.  CJ, balancer, and Split/Merge switch all look for this znode 
before doing it operation.  

  was:
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.  


> 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
>         Attachments: HBASE-16008.v0-master.patch, 
> HBASE-16008.v1-branch-1.patch, HBASE-16008.v1-master.patch
>
>
> 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.  
> The proposal to solve the problem is to use a znode to indicate that the 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