Lei (Eddy) Xu created HDFS-7917: ----------------------------------- Summary: Use file to replace data dirs in test to simulate a disk failure. Key: HDFS-7917 URL: https://issues.apache.org/jira/browse/HDFS-7917 Project: Hadoop HDFS Issue Type: Improvement Components: test Affects Versions: 2.6.0 Reporter: Lei (Eddy) Xu Assignee: Lei (Eddy) Xu Priority: Minor
Currently, in several tests, e.g., {{TestDataNodeVolumeFailureXXX}} and {{TestDataNotHowSwapVolumes}}, we simulate a disk failure by setting a directory's executable permission as false. However, it raises the risk that if the cleanup code could not be executed, the directory can not be easily removed by Jenkins job. Since in {{DiskChecker#checkDirAccess}}: {code} private static void checkDirAccess(File dir) throws DiskErrorException { if (!dir.isDirectory()) { throw new DiskErrorException("Not a directory: " + dir.toString()); } checkAccessByFileMethods(dir); } {code} We can replace the DN data directory as a file to achieve the same fault injection goal, while it is safer for cleaning up in any circumstance. Additionally, as [~cnauroth] suggested: bq. That might even let us enable some of these tests that are skipped on Windows, because Windows allows access for the owner even after permissions have been stripped. -- This message was sent by Atlassian JIRA (v6.3.4#6332)