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

This commit is contained in:
Inigo Goiri 2018-05-17 19:26:44 -07:00
parent 2f2dd22aad
commit 8783613696
1 changed files with 7 additions and 0 deletions

View File

@ -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/