[
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)