[
https://issues.apache.org/jira/browse/HDFS-7917?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Lei (Eddy) Xu updated HDFS-7917:
--------------------------------
Attachment: HDFS-7917.002.patch
Hi, [~cnauroth]
Thanks a lot for your reviews and inputs. It is pity that this patch still
cannot work on Windows. But I think this patch can offer its own value, for
example:
* {{git clean}} is per jenkins job. This patch can prevent a failure in
{{@After}} causing issues for the following unrelated tests.
* {{DataNodeTestUtils#injectDataDirFailure()}} is more verbose about the
purpose. And we can improve its functionality (i.e., supporting Windows) inside
this function in the future.
[~cnauroth], If you are OK with it, I would like to get this patch in. Would
you mind give another review? I updated the patch based on your comments.
Thanks!
> 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
> Attachments: HDFS-7917.000.patch, HDFS-7917.001.patch,
> HDFS-7917.002.patch
>
>
> 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)