[
https://issues.apache.org/jira/browse/HBASE-21745?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16893192#comment-16893192
]
stack commented on HBASE-21745:
-------------------------------
Porting comments by [~busbey] from HBASE-21966 here because they are general
and will sit better here than in the issue they were pulled from.
Some notes from a discussion [~elserj] and I ended up having after a customer
escalation:
{quote}We liked the idea
of making very focused operations, rather than sweeping "-repair"
options, e.g. "create a row in hbase:meta for this regiondir", "create
an empty regiondir", "create a regiondir from this hbase:meta row".
With tools like this, you could imagine a CLI tool stepping through
the Regions of a table presenting a three-way merge like tool: for
every region in a table, ask the user if they want to keep the state
in meta or the state in HDFS. We like this idea because it keeps HBase
devs out of the role of figuring out what the correct thing to do is.
A couple of related concerns:
Such a tool would not aim to be sufficient for the bar some folks have
expressed for HBck2 to move the "stable" pointer to HBase 2. Essentially some
ability to rebuild meta from external info ala HBASE-21665 or HBASE-18840
Need to make sure these tools are compose-able. It's all
well-and-good to say that human-insight needs to be applied to know
what HBCK2 commands to run, but we also don't want cluster recoveries
to take 10's of hours. Something easily scriptable is important. To continue
the three-way-merge analogy, merge strategies ala ours/theirs in git.{quote}
> Make HBCK2 be able to fix issues other than region assignment
> -------------------------------------------------------------
>
> Key: HBASE-21745
> URL: https://issues.apache.org/jira/browse/HBASE-21745
> Project: HBase
> Issue Type: Umbrella
> Components: hbase-operator-tools, hbck2
> Reporter: Duo Zhang
> Assignee: stack
> Priority: Critical
>
> This is what [~apurtell] posted on mailing-list, HBCK2 should support
> * -Rebuild meta from region metadata in the filesystem, aka offline meta
> rebuild.-
> * -Fix assignment errors (undeployed regions, double assignments (yes,
> should not be possible), etc)- (See
> https://issues.apache.org/jira/browse/HBASE-21745?focusedCommentId=16888302&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16888302)
> * Fix region holes, overlaps, and other errors in the region chain
> * Fix failed split and merge transactions that have failed to roll back due
> to some bug (related to previous)
> * -Enumerate store files to determine file level corruption and sideline
> corrupt files-
> * -Fix hfile link problems (dangling / broken)-
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)