HDFS-8309. Skip unit test using DataNodeTestUtils#injectDataDirFailure() on Windows. (xyao)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/a319771d Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/a319771d Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/a319771d Branch: refs/heads/HDFS-7240 Commit: a319771d1d9eebaf8e4165dba73383a229cb1525 Parents: e8d0ee5 Author: Xiaoyu Yao <x...@apache.org> Authored: Sat May 2 22:15:24 2015 -0700 Committer: Xiaoyu Yao <x...@apache.org> Committed: Sat May 2 22:15:24 2015 -0700 ---------------------------------------------------------------------- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 5 ++++- .../hdfs/server/datanode/TestDataNodeHotSwapVolumes.java | 5 +++++ .../hdfs/server/datanode/TestDataNodeVolumeFailure.java | 11 +++++++---- .../datanode/TestDataNodeVolumeFailureReporting.java | 5 ++--- 4 files changed, 18 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/a319771d/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index 71873a4..e525800 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -605,7 +605,10 @@ Release 2.8.0 - UNRELEASED configured zero. (Surendra Singh Lilhore via Arpit Agarwal) HDFS-8229. LAZY_PERSIST file gets deleted after NameNode restart. - (Surendra Singh Lilhore via Arpit Agarwal) + (Surendra Singh Lilhore via Arpit Agarwal) + + HDFS-8309. Skip unit test using DataNodeTestUtils#injectDataDirFailure() on Windows. + (xyao) Release 2.7.1 - UNRELEASED http://git-wip-us.apache.org/repos/asf/hadoop/blob/a319771d/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestDataNodeHotSwapVolumes.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestDataNodeHotSwapVolumes.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestDataNodeHotSwapVolumes.java index 668084b..315529c 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestDataNodeHotSwapVolumes.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestDataNodeHotSwapVolumes.java @@ -78,6 +78,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import static org.junit.Assume.assumeTrue; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.doAnswer; @@ -705,6 +706,10 @@ public class TestDataNodeHotSwapVolumes { public void testDirectlyReloadAfterCheckDiskError() throws IOException, TimeoutException, InterruptedException, ReconfigurationException { + // The test uses DataNodeTestUtils#injectDataDirFailure() to simulate + // volume failures which is currently not supported on Windows. + assumeTrue(!Path.WINDOWS); + startDFSCluster(1, 2); createFile(new Path("/test"), 32, (short)2); http://git-wip-us.apache.org/repos/asf/hadoop/blob/a319771d/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestDataNodeVolumeFailure.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestDataNodeVolumeFailure.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestDataNodeVolumeFailure.java index 0a90947..0d158c9 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestDataNodeVolumeFailure.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestDataNodeVolumeFailure.java @@ -207,8 +207,12 @@ public class TestDataNodeVolumeFailure { * after failure. */ @Test(timeout=150000) - public void testFailedVolumeBeingRemovedFromDataNode() + public void testFailedVolumeBeingRemovedFromDataNode() throws InterruptedException, IOException, TimeoutException { + // The test uses DataNodeTestUtils#injectDataDirFailure() to simulate + // volume failures which is currently not supported on Windows. + assumeTrue(!Path.WINDOWS); + Path file1 = new Path("/test1"); DFSTestUtil.createFile(fs, file1, 1024, (short) 2, 1L); DFSTestUtil.waitReplication(fs, file1, (short) 2); @@ -270,9 +274,8 @@ public class TestDataNodeVolumeFailure { */ @Test public void testUnderReplicationAfterVolFailure() throws Exception { - // This test relies on denying access to data volumes to simulate data volume - // failure. This doesn't work on Windows, because an owner of an object - // always has the ability to read and change permissions on the object. + // The test uses DataNodeTestUtils#injectDataDirFailure() to simulate + // volume failures which is currently not supported on Windows. assumeTrue(!Path.WINDOWS); // Bring up one more datanode http://git-wip-us.apache.org/repos/asf/hadoop/blob/a319771d/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestDataNodeVolumeFailureReporting.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestDataNodeVolumeFailureReporting.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestDataNodeVolumeFailureReporting.java index aac288a..e0728dc 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestDataNodeVolumeFailureReporting.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestDataNodeVolumeFailureReporting.java @@ -76,9 +76,8 @@ public class TestDataNodeVolumeFailureReporting { @Before public void setUp() throws Exception { - // These tests simulate volume failures by denying execute permission on the - // volume's path. On Windows, the owner of an object is always allowed - // access, so we can't run these tests on Windows. + // These tests use DataNodeTestUtils#injectDataDirFailure() to simulate + // volume failures which is currently not supported on Windows. assumeTrue(!Path.WINDOWS); // Allow a single volume failure (there are two volumes) initCluster(1, 2, 1);