You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2019/07/12 21:42:00 UTC

[jira] [Created] (HBASE-22688) [hbase-operator-tools] Add filesystem fixup to hbck2

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)