[ https://issues.apache.org/jira/browse/HDFS-13586?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16479912#comment-16479912 ]
Lukas Majercak commented on HDFS-13586: --------------------------------------- Added patch001 to use cleaner Shell.WINDOWS instead of Path > Fsync fails on directories on Windows > ------------------------------------- > > Key: HDFS-13586 > URL: https://issues.apache.org/jira/browse/HDFS-13586 > Project: Hadoop HDFS > Issue Type: Bug > Components: datanode, hdfs > Environment: JDK 1.8.0_144 > Hadoop 2.9+ > Reporter: Lukas Majercak > Assignee: Lukas Majercak > Priority: Critical > Labels: Windows > Attachments: HDFS-13586.000.patch, HDFS-13586.001.patch > > > HDFS-11915 added a fsync call on DataNode's rbw directory on the first > hsync() call. IOUtils.fsync first tries to get a FileChannel on the directory > using FileChannel.open(READ). This call fails on Windows for any directory > and throws an AccessDeniedException, see discussion here: > [http://mail.openjdk.java.net/pipermail/nio-dev/2015-May/003140.html]. > > {code:java} > java.io.IOException: Failed to sync > E:\workspace\OSSHadoop\hadoop-hdfs-project\hadoop-hdfs\target\test\data\dfs\data\data1\current\BP-571178992-10.123.152.148-1526591934139\current\rbw > at > org.apache.hadoop.hdfs.server.datanode.DatanodeUtil.fsyncDirectory(DatanodeUtil.java:160) > at > org.apache.hadoop.hdfs.server.datanode.BlockReceiver.flushOrSync(BlockReceiver.java:430) > at > org.apache.hadoop.hdfs.server.datanode.BlockReceiver.receivePacket(BlockReceiver.java:807) > at > org.apache.hadoop.hdfs.server.datanode.BlockReceiver.receiveBlock(BlockReceiver.java:968) > at > org.apache.hadoop.hdfs.server.datanode.DataXceiver.writeBlock(DataXceiver.java:873) > at > org.apache.hadoop.hdfs.protocol.datatransfer.Receiver.opWriteBlock(Receiver.java:166) > at > org.apache.hadoop.hdfs.protocol.datatransfer.Receiver.processOp(Receiver.java:103) > at > org.apache.hadoop.hdfs.server.datanode.DataXceiver.run(DataXceiver.java:291) > at java.lang.Thread.run(Thread.java:748) > Caused by: java.nio.file.AccessDeniedException: > E:\workspace\OSSHadoop\hadoop-hdfs-project\hadoop-hdfs\target\test\data\dfs\data\data1\current\BP-571178992-10.123.152.148-1526591934139\current\rbw > at > sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:83) > at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97) > at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102) > at > sun.nio.fs.WindowsFileSystemProvider.newFileChannel(WindowsFileSystemProvider.java:115) > at java.nio.channels.FileChannel.open(FileChannel.java:287) > at java.nio.channels.FileChannel.open(FileChannel.java:335) > at org.apache.hadoop.io.IOUtils.fsync(IOUtils.java:405) > at > org.apache.hadoop.hdfs.server.datanode.FileIoProvider.dirSync(FileIoProvider.java:169) > at > org.apache.hadoop.hdfs.server.datanode.DatanodeUtil.fsyncDirectory(DatanodeUtil.java:158) > ... 8 more > {code} > -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org