HDFS-9476. TestDFSUpgradeFromImage#testUpgradeFromRel1BBWImage occasionally fail. Contributed by Masatake Iwasaki.

(cherry picked from commit 69555fca06)
This commit is contained in:
Akira Ajisaka 2016-06-02 18:52:47 +09:00
parent e9942c5b34
commit 3dd557e4b6
1 changed files with 13 additions and 3 deletions

View File

@ -173,7 +173,7 @@ public class TestDFSUpgradeFromImage {
private static FSInputStream dfsOpenFileWithRetries(DistributedFileSystem dfs,
String pathName) throws IOException {
IOException exc = null;
for (int tries = 0; tries < 10; tries++) {
for (int tries = 0; tries < 30; tries++) {
try {
return dfs.dfs.open(pathName);
} catch (IOException e) {
@ -184,6 +184,7 @@ public class TestDFSUpgradeFromImage {
throw exc;
}
try {
LOG.info("Open failed. " + tries + " times. Retrying.");
Thread.sleep(1000);
} catch (InterruptedException ignored) {}
}
@ -570,8 +571,17 @@ public class TestDFSUpgradeFromImage {
String pathStr = path.toString();
HdfsFileStatus status = dfs.getFileInfo(pathStr);
if (!status.isDir()) {
dfs.recoverLease(pathStr);
return;
for (int retries = 10; retries > 0; retries--) {
if (dfs.recoverLease(pathStr)) {
return;
} else {
try {
Thread.sleep(1000);
} catch (InterruptedException ignored) {
}
}
}
throw new IOException("Failed to recover lease of " + path);
}
byte prev[] = HdfsFileStatus.EMPTY_NAME;
DirectoryListing dirList;