HDFS-13586. Fsync fails on directories on Windows. Contributed by Lukas Majercack.
(cherry picked from commit 8783613696674aba4ae1739c6e8f48cda0d1c386) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/472495ed Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/472495ed Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/472495ed Branch: refs/heads/branch-3.1 Commit: 472495ed1e053fc8bb0e519bda2e9eccacee4baf Parents: 0791785 Author: Inigo Goiri <inigo...@apache.org> Authored: Thu May 17 19:26:44 2018 -0700 Committer: Inigo Goiri <inigo...@apache.org> Committed: Thu May 17 19:27:23 2018 -0700 ---------------------------------------------------------------------- .../src/main/java/org/apache/hadoop/io/IOUtils.java | 7 +++++++ 1 file changed, 7 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/472495ed/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/IOUtils.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/IOUtils.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/IOUtils.java index f451ff3..7288812 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/IOUtils.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/IOUtils.java @@ -414,6 +414,13 @@ public class IOUtils { "File/Directory " + fileToSync.getAbsolutePath() + " does not exist"); } boolean isDir = fileToSync.isDirectory(); + + // HDFS-13586, FileChannel.open fails with AccessDeniedException + // for any directory, ignore. + if (isDir && Shell.WINDOWS) { + return; + } + // If the file is a directory we have to open read-only, for regular files // we must open r/w for the fsync to have an effect. See // http://blog.httrack.com/blog/2013/11/15/ --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org