hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Hsieh (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-6516) hbck cannot detect any IOException while ".tableinfo" file is missing
Date Fri, 31 Aug 2012 15:41:08 GMT

    [ https://issues.apache.org/jira/browse/HBASE-6516?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13446059#comment-13446059
] 

Jonathan Hsieh commented on HBASE-6516:
---------------------------------------

The test is really helpful for understanding the ramifications of this.  

I don't think we want hbck to bail out if .tableinfo file is missing -- it shouldreport it
as error and be allow to continue and finish without an exception so we can report all the
errors at the end.  I looked at HBASE-5631, which is closely related, and I don't see a change
to it changes there.

Hm.. it wasn't clear from reading the code that we expected the IOException.  (It ends up
being a TableInfoMissingException right?)
{code}
+      fs.rename(tableinfo, new Path("/.tableinfo"));
+      
+      doFsck(conf, false); 
/// ADD: fail("We expect an IOException");
+    } catch (IOException ioe) {
+      assertNotNull("No IOException found while .tableinfo missing", ioe);
+    } finally {
+      fs.rename(new Path("/.tableinfo"), tableinfo);
+      deleteTable(table);
{code}


----

nits (most of these I'd fix on commit): 

new files (TableInfoMissingException) require an apache license at the top.

Minor spacing nit:
{code}
+                HConstants.ROOT_TABLE_NAME) ==0
{code}

Is capitalization of 'NO' intentional? also minor spacing nit.
{code}
-    if (status == null) return null;
+    if (status == null) throw new TableInfoMissingException("NO .tableinfo file under " +tableDir.toUri());
{code}

Don't think this change is necessary
{code}
-  @Test public void testReadingHTDFromFS() throws IOException {
+  @Test public void testReadingHTDFromFS() throws IOException, NullPointerException{
     final String name = "testReadingHTDFromFS";
{code}

                
> hbck cannot detect any IOException while ".tableinfo" file is missing
> ---------------------------------------------------------------------
>
>                 Key: HBASE-6516
>                 URL: https://issues.apache.org/jira/browse/HBASE-6516
>             Project: HBase
>          Issue Type: Bug
>          Components: hbck
>    Affects Versions: 0.94.0, 0.96.0
>            Reporter: Jie Huang
>            Assignee: Jie Huang
>         Attachments: hbase-6516.patch, hbase-6516-v2.patch, hbase-6516-v3.patch
>
>
> HBaseFsck checks those missing .tableinfo files in loadHdfsRegionInfos() function. However,
no IoException will be catched while .tableinfo is missing, since "FSTableDescriptors.getTableDescriptor"
doesn't throw any IoException.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message