You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Ming Ma (JIRA)" <ji...@apache.org> on 2011/08/10 03:51:27 UTC

[jira] [Updated] (HBASE-4184) CatalogJanitor doesn't work properly when "fs.default.name" isn't set in config file.

     [ https://issues.apache.org/jira/browse/HBASE-4184?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ming Ma updated HBASE-4184:
---------------------------

    Attachment: HBASE-4184-trunk.patch

Change CatalogJanitor.java to use HRegionInfo.getTableName() instead.

Should we actually remove HRegionInfo.getTableDesc()? I know it isn't backward compatible. But the function doesn't seem provide much value.

> CatalogJanitor doesn't work properly when "fs.default.name" isn't set in config file.
> -------------------------------------------------------------------------------------
>
>                 Key: HBASE-4184
>                 URL: https://issues.apache.org/jira/browse/HBASE-4184
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Ming Ma
>            Assignee: Ming Ma
>         Attachments: HBASE-4184-trunk.patch
>
>
> In our system, hbase.rootdir is set to a hdfs path and hbase can figure out the FileSystem and set "fs.default.name" accordingly on the Configuration object and pass around including to RS. That is handled in HMaster.java and MasterFileSystem.java.
> CatalogJanitor uses deprecated HRegionInfo.getTableDesc. The method creates a default configuration and get FileSystem from there. That will be RawLocalFileSystem. It returns the following exception.
> java.lang.IllegalArgumentException: Wrong FS: hdfs://sea-esxi-0:54310/tmp/hbase/
> testtb/.tableinfo, expected: file:///
>         at org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:454)
>         at org.apache.hadoop.fs.RawLocalFileSystem.pathToFile(RawLocalFileSystem.java:67)
>         at org.apache.hadoop.fs.RawLocalFileSystem.listStatus(RawLocalFileSystem.java:307)
>         at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:1085)
>         at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:1110)
>         at org.apache.hadoop.fs.ChecksumFileSystem.listStatus(ChecksumFileSystem.java:494)
>         at org.apache.hadoop.hbase.util.FSUtils.getTableInfoModtime(FSUtils.java:833)
>         at org.apache.hadoop.hbase.util.FSTableDescriptors.get(FSTableDescriptors.java:127)
>         at org.apache.hadoop.hbase.util.FSTableDescriptors.get(FSTableDescriptors.java:99)
>         at org.apache.hadoop.hbase.HRegionInfo.getTableDesc(HRegionInfo.java:560)
>         at org.apache.hadoop.hbase.master.CatalogJanitor$1.compare(CatalogJanitor.java:118)
>         at org.apache.hadoop.hbase.master.CatalogJanitor$1.compare(CatalogJanitor.java:110)
>         at java.util.TreeMap.put(TreeMap.java:530)        at org.apache.hadoop.hbase.master.CatalogJanitor$2.visit(CatalogJanitor.java:138)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira