Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-8314

HLogSplitter can retry to open a 0-length hlog file

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.98.0, 0.95.1
    • None
    • None
    • Reviewed

    Description

      In case a HLog file is of size 0, and it is under recovery, HLogSplitter will fail to open it since it can get the file length, therefore, master can't start.

      java.io.IOException: Cannot obtain block length for LocatedBlock{...; getBlockSize()=0; corrupt=false; offset=0; locs=[...]}
          at org.apache.hadoop.hdfs.DFSInputStream.readBlockLength(DFSInputStream.java:238)
          at org.apache.hadoop.hdfs.DFSInputStream.fetchLocatedBlocksAndGetLastBlockLength(DFSInputStream.java:182)
          at org.apache.hadoop.hdfs.DFSInputStream.openInfo(DFSInputStream.java:124)
          at org.apache.hadoop.hdfs.DFSInputStream.<init>(DFSInputStream.java:117)
          at org.apache.hadoop.hdfs.DFSClient.open(DFSClient.java:1080)
      

      Attachments

        1. region-server.log
          4 kB
          Jimmy Xiang
        2. trunk-8314_v2.patch
          7 kB
          Jimmy Xiang
        3. trunk-8314.patch
          7 kB
          Jimmy Xiang

        Issue Links

          Activity

            People

              jxiang Jimmy Xiang
              jxiang Jimmy Xiang
              Votes:
              0 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: