HBase
  1. HBase
  2. HBASE-10677

boundaries check in hbck throwing IllegalArgumentException

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.98.0
    • Fix Version/s: 0.96.2, 0.98.1, 0.99.0
    • Component/s: hbck
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      This is the exception

      java.lang.IllegalArgumentException: Pathname /hbase/hbase:labels/438f84dea5d0e24e390de927deb8a84e from hdfs://10.18.40.29:54310/hbase/hbase:labels/438f84dea5d0e24e390de927deb8a84e is not a valid DFS filename.
              at org.apache.hadoop.hdfs.DistributedFileSystem.getPathName(DistributedFileSystem.java:184)
              at org.apache.hadoop.hdfs.DistributedFileSystem.listStatusInternal(DistributedFileSystem.java:637)
              at org.apache.hadoop.hdfs.DistributedFileSystem.access$600(DistributedFileSystem.java:92)
              at org.apache.hadoop.hdfs.DistributedFileSystem$14.doCall(DistributedFileSystem.java:702)
              at org.apache.hadoop.hdfs.DistributedFileSystem$14.doCall(DistributedFileSystem.java:698)
              at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
              at org.apache.hadoop.hdfs.DistributedFileSystem.listStatus(DistributedFileSystem.java:698)
              at org.apache.hadoop.hbase.util.HBaseFsck.checkRegionBoundaries(HBaseFsck.java:537)
              at org.apache.hadoop.hbase.util.HBaseFsck.onlineHbck(HBaseFsck.java:487)
              at org.apache.hadoop.hbase.util.HBaseFsck.exec(HBaseFsck.java:4028)
              at org.apache.hadoop.hbase.util.HBaseFsck$HBaseFsckTool.run(HBaseFsck.java:3837)
              at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
              at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
              at org.apache.hadoop.hbase.util.HBaseFsck.main(HBaseFsck.java:3825)
      

      We are pointing to wrong table directory. This is the code causing the problem.

              // For each region, get the start and stop key from the META and compare them to the
              // same information from the Stores.
              Path path = new Path(getConf().get(HConstants.HBASE_DIR) + "/"
                  + Bytes.toString(regionInfo.getTable().getName()) + "/"
                  + regionInfo.getEncodedName() + "/");
      
      1. HBASE-10677_v2.patch
        2 kB
        rajeshbabu
      2. HBASE-10677_v1.patch
        1 kB
        rajeshbabu
      3. HBASE-10677.patch
        1 kB
        rajeshbabu

        Activity

        rajeshbabu created issue -
        rajeshbabu made changes -
        Field Original Value New Value
        Attachment HBASE-10677.patch [ 12632788 ]
        rajeshbabu made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        rajeshbabu made changes -
        Attachment HBASE-10677_v1.patch [ 12632793 ]
        rajeshbabu made changes -
        Attachment HBASE-10677_v2.patch [ 12632814 ]
        rajeshbabu made changes -
        Status Patch Available [ 10002 ] Resolved [ 5 ]
        Hadoop Flags Reviewed [ 10343 ]
        Resolution Fixed [ 1 ]
        Enis Soztutar made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            rajeshbabu
            Reporter:
            rajeshbabu
          • Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development