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)