hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Cosmin Lehene (JIRA)" <j...@apache.org>
Subject [jira] Created: (HBASE-2358) Store doReconstructionLog will fail if oldlogfile.log is empty and won't load region
Date Mon, 22 Mar 2010 18:03:27 GMT
Store doReconstructionLog will fail if oldlogfile.log is empty and won't load region
------------------------------------------------------------------------------------

                 Key: HBASE-2358
                 URL: https://issues.apache.org/jira/browse/HBASE-2358
             Project: Hadoop HBase
          Issue Type: Bug
          Components: regionserver
    Affects Versions: 0.20.3
         Environment: Any
            Reporter: Cosmin Lehene
            Assignee: Cosmin Lehene
             Fix For: 0.21.0


doReconstructionLog doesn't handle empty files correctly:
{code}
    FileStatus stat = this.fs.getFileStatus(reconstructionLog);
    if (stat.getLen() <= 0) {
      LOG.warn("Passed reconstruction log " + reconstructionLog +
        " is zero-length. Deleting existing file");
       fs.delete(reconstructionLog, false);
      return -1;
    }
{code}

Notice it actually compares the length of the array instead of the file length.

It should call getLen() and delete the file afterwards
{code}
   FileStatus stat = this.fs.getFileStatus(reconstructionLog);
    if (stat.getLen() <= 0) {
      LOG.warn("Passed reconstruction log " + reconstructionLog +
        " is zero-length. Deleting existing file");
       fs.delete(reconstructionLog, false);
      return -1;
    }
{code}

Also. This is a situation that shouldn't happen as an empty oldlogfile.log should be deleted
when HMaster does the split in HLog.splitLog().
I couldn't figure what would make it leave it there as I also see in the logs that other empty
logs are deleted. This might expose a thornier situation.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message