HBASE-8577 TestZooKeeper#testLogSplittingAfterMasterRecoveryDueToZKExpiry failed intermittently

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1484352 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Michael Stack 2013-05-19 21:21:26 +00:00
parent 998296008a
commit 94a3efe1e9
2 changed files with 8 additions and 0 deletions

View File

@ -19,6 +19,7 @@
package org.apache.hadoop.hbase.regionserver.wal;
import java.io.EOFException;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InterruptedIOException;
import java.lang.reflect.Constructor;
@ -836,6 +837,11 @@ public class HLogSplitter {
}
}
} catch (IOException e) {
if (e instanceof FileNotFoundException) {
// A wal file may not exist anymore. Nothing can be recovered so move on
LOG.warn("File " + path + " doesn't exist anymore.", e);
return null;
}
if (!skipErrors || e instanceof InterruptedIOException) {
throw e; // Don't mark the file corrupted if interrupted, or not skipErrors
}

View File

@ -76,6 +76,8 @@ public class FSHDFSUtils extends FSUtils {
if (e instanceof LeaseExpiredException && e.getMessage().contains("File does not exist")) {
// This exception comes out instead of FNFE, fix it
throw new FileNotFoundException("The given HLog wasn't found at " + p);
} else if (e instanceof FileNotFoundException) {
throw e;
}
LOG.warn("Got IOException on attempt " + nbAttempt + " to recover lease for file " + p +
", retrying.", e);