Jimmy Xiang created HBASE-8215:
----------------------------------

             Summary: Removing existing .regioninfo in 
writeRegioninfoOnFilesystem
                 Key: HBASE-8215
                 URL: https://issues.apache.org/jira/browse/HBASE-8215
             Project: HBase
          Issue Type: Bug
          Components: regionserver
    Affects Versions: 0.94.6
            Reporter: Jimmy Xiang
            Assignee: Jimmy Xiang
            Priority: Minor


If HRegion#writeRegioninfoOnFilesystem:

{code}
    if (fs.exists(regioninfoPath) &&
        fs.getFileStatus(regioninfoPath).getLen() > 0) {
      return;
    }
{code}

If the file exists and its length is 0, the file should be removed.  This issue 
has been fixed in trunk with HBASE-7807.  We need to fix it in 0.94 as well. 
Otherwise, we will get this error:

{noformat}
2013-03-27 16:57:27,143 ERROR 
org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler: Failed open of 
region=t1,r4_38,1364392356229.dec30602f4805a3e640871185ae900aa.
java.io.IOException: Unable to rename 
hdfs://hbase-6.ent.cloudera.com:17020/hbase/t1/dec30602f4805a3e640871185ae900aa/.tmp/.regioninfo
 to 
hdfs://hbase-6.ent.cloudera.com:17020/hbase/t1/dec30602f4805a3e640871185ae900aa/.regioninfo
        at 
org.apache.hadoop.hbase.regionserver.HRegion.checkRegioninfoOnFilesystem(HRegion.java:639)
        at 
org.apache.hadoop.hbase.regionserver.HRegion.initialize(HRegion.java:426)
        at 
org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:3308)
        at 
org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:3256)
        at 
org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.openRegion(OpenRegionHandler.java:331)
        at 
org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.process(OpenRegionHandler.java:107)
        at 
org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:169)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
{noformat}

And the region can't be opened, so that stuck in transition.


--
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

Reply via email to