stack created HBASE-22688:
-----------------------------
Summary: [hbase-operator-tools] Add filesystem fixup to hbck2
Key: HBASE-22688
URL: https://issues.apache.org/jira/browse/HBASE-22688
Project: HBase
Issue Type: Sub-task
Components: hbck2
Reporter: stack
Poking around, was going to add a 'filesystem' command to hbck2. It would take
nothing or a list of one or more table names and optionally a path to a region.
If nothing passed, it would review the fs for corrupt hfiles and bad links
reporting the bad as it went. If --fix is passed, it will sideline corrupt
files and mis-links. Would advise reopen/rolling-restart if change made. For
starters would make use of the hbck1 fs tools added by HBASE-22680.
Above would exploit the following facillty from hbck1.
-checkCorruptHFiles
-sidelineCorruptHFiles
-fixVersionFile
-fixReferenceFiles
-fixHFileLinks
This would address the following from parent issue at least:
* Fix hfile link problems...
* Enumerate store files to determine file level corruption...
I noticed that the 'read-only' hbck1 tool HBaseFsck which is present in the
hbase2 codebase actually allows fixes in the filesystem; i.e. you'd run
HBaseFsck and pass say -fixVersionFile. This is mixed in w/ all the other hbck1
noise but an operator should be able to make progress with what is there
regards hfile corruption, bad links, etc. In other words, could just doc this
facility in the hbck2 tool point folks to the latent hbck1 HBaseFsck if they
need to do fixup of the fs (Would be confusing but it exists).
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)