[ https://issues.apache.org/jira/browse/HBASE-4377?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13131286#comment-13131286 ]
jirapos...@reviews.apache.org commented on HBASE-4377: ------------------------------------------------------ bq. On 2011-10-07 21:01:16, Ted Yu wrote: bq. > src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java, line 302 bq. > <https://reviews.apache.org/r/2287/diff/1/?file=48780#file48780line302> bq. > bq. > Naming rd as rootdir would make the code more readable. done bq. On 2011-10-07 21:01:16, Ted Yu wrote: bq. > src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java, line 446 bq. > <https://reviews.apache.org/r/2287/diff/1/?file=48780#file48780line446> bq. > bq. > I think LOG.info() should be used here. I think it is still a problem, but we are in an ok state. I've changed it to 'warn' instead. bq. On 2011-10-07 21:01:16, Ted Yu wrote: bq. > src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java, line 276 bq. > <https://reviews.apache.org/r/2287/diff/1/?file=48780#file48780line276> bq. > bq. > Minor suggestion: IOException may occur more than once. Would logging all such IOException's before bailing out make user experience better ? bq. > Basically we just need to track the last such IOException in a variable and bail out at line 283 if the variable isn't null. Updated to track all IOE's and throw MultipleIOException. bq. On 2011-10-07 21:01:16, Ted Yu wrote: bq. > src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java, line 346 bq. > <https://reviews.apache.org/r/2287/diff/1/?file=48780#file48780line346> bq. > bq. > I think rebuildMeta() should check the return value from generatePuts(). bq. > Otherwise we would encounter NPE at line 405 below. see below bq. On 2011-10-07 21:01:16, Ted Yu wrote: bq. > src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java, line 407 bq. > <https://reviews.apache.org/r/2287/diff/1/?file=48780#file48780line407> bq. > bq. > false should be returned if puts is null. So I believe that checkHdfs and loadTableInfo and the error checking happens before and bails out after suggestFixes(). But sure, it doesn't really hurt here to be event more defensive. bq. On 2011-10-07 21:01:16, Ted Yu wrote: bq. > src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java, line 378 bq. > <https://reviews.apache.org/r/2287/diff/1/?file=48780#file48780line378> bq. > bq. > Do you plan to add this logic in another JIRA ? I have a patch that adds this but it is having problems on the trunk side. I'd like to get this in first and then then we'll deal with that next. New issue filed HBASE-4632. - jmhsieh ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/2287/#review2440 ----------------------------------------------------------- On 2011-10-07 19:04:44, jmhsieh wrote: bq. bq. ----------------------------------------------------------- bq. This is an automatically generated e-mail. To reply, visit: bq. https://reviews.apache.org/r/2287/ bq. ----------------------------------------------------------- bq. bq. (Updated 2011-10-07 19:04:44) bq. bq. bq. Review request for hbase and Ted Yu. bq. bq. bq. Summary bq. ------- bq. bq. Backport to 0.90 bq. bq. commit 89862b73c6358e27220b87b0362599d86ab0fe4a bq. Author: Jonathan Hsieh <j...@cloudera.com> bq. Date: Wed Sep 28 10:18:11 2011 -0700 bq. bq. HBASE-4377 [hbck] Offline rebuild .META. from fs data only bq. bq. bq. bq. This addresses bug HBASE-4377. bq. https://issues.apache.org/jira/browse/HBASE-4377 bq. bq. bq. Diffs bq. ----- bq. bq. src/main/java/org/apache/hadoop/hbase/master/MasterFileSystem.java ef246c3 bq. src/main/java/org/apache/hadoop/hbase/util/Bytes.java 13ad026 bq. src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java b04aab6 bq. src/main/java/org/apache/hadoop/hbase/util/hbck/OfflineMetaRepair.java PRE-CREATION bq. src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java f792720 bq. src/test/java/org/apache/hadoop/hbase/util/hbck/HbckTestingUtil.java PRE-CREATION bq. src/test/java/org/apache/hadoop/hbase/util/hbck/OfflineMetaRebuildTestCore.java PRE-CREATION bq. src/test/java/org/apache/hadoop/hbase/util/hbck/TestOfflineMetaRebuildBase.java PRE-CREATION bq. src/test/java/org/apache/hadoop/hbase/util/hbck/TestOfflineMetaRebuildHole.java PRE-CREATION bq. src/test/java/org/apache/hadoop/hbase/util/hbck/TestOfflineMetaRebuildOverlap.java PRE-CREATION bq. bq. Diff: https://reviews.apache.org/r/2287/diff bq. bq. bq. Testing bq. ------- bq. bq. Note, the assertion test result is different in the failure cases due to HBASE-451 changes. (0.90 returns 0 tables since it does a meta scan on empty meta, trunk branch looks at hdfs dirs, and returns 1). bq. bq. This version passes after HBASE-4508 (backport HBASE-3777 to 0.90 branch) is applied. bq. bq. I believe if that patch is not applied, I could modify the test code to force some explicit HConnection deletions. bq. bq. bq. Thanks, bq. bq. jmhsieh bq. bq. > [hbck] Offline rebuild .META. from fs data only. > ------------------------------------------------ > > Key: HBASE-4377 > URL: https://issues.apache.org/jira/browse/HBASE-4377 > Project: HBase > Issue Type: New Feature > Reporter: Jonathan Hsieh > Assignee: Jonathan Hsieh > Attachments: > 0001-HBASE-4377-hbck-Offline-rebuild-.META.-from-fs-data-.patch, > hbase-4377-trunk.v2.patch > > > In a worst case situation, it may be helpful to have an offline .META. > rebuilder that just looks at the file system's .regioninfos and rebuilds meta > from scratch. Users could move bad regions out until there is a clean > rebuild. > It would likely fill in region split holes. Follow on work could given > options to merge or select regions that overlap, or do online rebuilds. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira