HDFS-13586. Fsync fails on directories on Windows. Contributed by Lukas Majercack.

(cherry picked from commit 8783613696)
This commit is contained in:
Inigo Goiri 2018-05-17 19:26:44 -07:00
parent a5ec44c655
commit c4d4ae62cb
1 changed files with 7 additions and 0 deletions

View File

@ -398,6 +398,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/