HDFS-13588. Fix TestFsDatasetImpl test failures on Windows. Contributed by Xiao Liang.

This commit is contained in:
Inigo Goiri 2018-05-23 09:46:35 -07:00
parent e83b943fed
commit c0c9b7a8ef

View File

@ -28,6 +28,7 @@
import org.apache.hadoop.fs.FSDataOutputStream; import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.FileSystemTestHelper; import org.apache.hadoop.fs.FileSystemTestHelper;
import org.apache.hadoop.fs.FileUtil;
import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.StorageType; import org.apache.hadoop.fs.StorageType;
import org.apache.hadoop.hdfs.BlockReader; import org.apache.hadoop.hdfs.BlockReader;
@ -666,7 +667,8 @@ public void testCleanShutdownOfVolume() throws Exception {
TimeUnit.MILLISECONDS); TimeUnit.MILLISECONDS);
config.setInt(DFSConfigKeys.DFS_DATANODE_FAILED_VOLUMES_TOLERATED_KEY, 1); config.setInt(DFSConfigKeys.DFS_DATANODE_FAILED_VOLUMES_TOLERATED_KEY, 1);
cluster = new MiniDFSCluster.Builder(config).numDataNodes(1).build(); cluster = new MiniDFSCluster.Builder(config,
GenericTestUtils.getRandomizedTestDir()).numDataNodes(1).build();
cluster.waitActive(); cluster.waitActive();
FileSystem fs = cluster.getFileSystem(); FileSystem fs = cluster.getFileSystem();
DataNode dataNode = cluster.getDataNodes().get(0); DataNode dataNode = cluster.getDataNodes().get(0);
@ -688,7 +690,7 @@ public void testCleanShutdownOfVolume() throws Exception {
// Remove write and execute access so that checkDiskErrorThread detects // Remove write and execute access so that checkDiskErrorThread detects
// this volume is bad. // this volume is bad.
finalizedDir.setExecutable(false); finalizedDir.setExecutable(false);
finalizedDir.setWritable(false); assertTrue(FileUtil.setWritable(finalizedDir, false));
} }
Assert.assertTrue("Reference count for the volume should be greater " Assert.assertTrue("Reference count for the volume should be greater "
+ "than 0", volume.getReferenceCount() > 0); + "than 0", volume.getReferenceCount() > 0);
@ -709,7 +711,7 @@ public void testCleanShutdownOfVolume() throws Exception {
} catch (IOException ioe) { } catch (IOException ioe) {
GenericTestUtils.assertExceptionContains(info.getXferAddr(), ioe); GenericTestUtils.assertExceptionContains(info.getXferAddr(), ioe);
} }
finalizedDir.setWritable(true); assertTrue(FileUtil.setWritable(finalizedDir, true));
finalizedDir.setExecutable(true); finalizedDir.setExecutable(true);
} finally { } finally {
cluster.shutdown(); cluster.shutdown();