Author: atm Date: Thu Oct 3 00:42:20 2013 New Revision: 1528694 URL: http://svn.apache.org/r1528694 Log: HDFS-5289. Race condition in TestRetryCacheWithHA#testCreateSymlink causes spurious test failure. Contributed by Aaron T. Myers.
Modified: hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestRetryCacheWithHA.java Modified: hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt?rev=1528694&r1=1528693&r2=1528694&view=diff ============================================================================== --- hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt (original) +++ hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt Thu Oct 3 00:42:20 2013 @@ -147,6 +147,9 @@ Release 2.1.2 - UNRELEASED HDFS-5279. Guard against NullPointerException in NameNode JSP pages before initialization of FSNamesystem. (cnauroth) + HDFS-5289. Race condition in TestRetryCacheWithHA#testCreateSymlink causes + spurious test failure. (atm) + Release 2.1.1-beta - 2013-09-23 INCOMPATIBLE CHANGES Modified: hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestRetryCacheWithHA.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestRetryCacheWithHA.java?rev=1528694&r1=1528693&r2=1528694&view=diff ============================================================================== --- hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestRetryCacheWithHA.java (original) +++ hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestRetryCacheWithHA.java Thu Oct 3 00:42:20 2013 @@ -20,6 +20,7 @@ package org.apache.hadoop.hdfs.server.na import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; +import java.io.FileNotFoundException; import java.io.IOException; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; @@ -646,10 +647,14 @@ public class TestRetryCacheWithHA { @Override boolean checkNamenodeBeforeReturn() throws Exception { Path linkPath = new Path(link); - FileStatus linkStatus = dfs.getFileLinkStatus(linkPath); + FileStatus linkStatus = null; for (int i = 0; i < CHECKTIMES && linkStatus == null; i++) { - Thread.sleep(1000); - linkStatus = dfs.getFileLinkStatus(linkPath); + try { + linkStatus = dfs.getFileLinkStatus(linkPath); + } catch (FileNotFoundException fnf) { + // Ignoring, this can be legitimate. + Thread.sleep(1000); + } } return linkStatus != null; } @@ -857,4 +862,4 @@ public class TestRetryCacheWithHA { + results.get(op.name)); } } -} \ No newline at end of file +}