[ https://issues.apache.org/jira/browse/HDFS-8626?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14594280#comment-14594280 ]
Hudson commented on HDFS-8626: ------------------------------ FAILURE: Integrated in Hadoop-trunk-Commit #8039 (See [https://builds.apache.org/job/Hadoop-trunk-Commit/8039/]) HDFS-8626. Reserved RBW space is not released if creation of RBW File fails. (Contributed by kanaka kumar avvaru) (arp: rev 55278c012fbd5dcabee0276f8f42d0ab920cec93) * hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt * hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsVolumeImpl.java * hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/TestRbwSpaceReservation.java > Reserved RBW space is not released if creation of RBW File fails > ---------------------------------------------------------------- > > Key: HDFS-8626 > URL: https://issues.apache.org/jira/browse/HDFS-8626 > Project: Hadoop HDFS > Issue Type: Bug > Reporter: kanaka kumar avvaru > Assignee: kanaka kumar avvaru > Priority: Blocker > Fix For: 2.7.1 > > Attachments: HDFS-8626-01.patch, HDFS-8626-02.patch, > HDFS-8626-03.patch, HDFS-8626-04.patch > > > The DataNode reserves disk space for a full block when creating an RBW block > and will release the space when the block is finalized (introduced in > HDFS-6898) > But if the RBW file creation fails, the reserved space is not released back. > In a scenario, when the data node disk is full it causes no space left > {{IOException}}. Eventually even if the disk got cleaned, the reserved space > is not release until the Data Node is restarted > Stacktrace for block creation failure is: > {code} IOException in BlockReceiver constructor. Cause is | > org.apache.hadoop.hdfs.server.datanode.BlockReceiver.<init>(BlockReceiver.java:264) > java.io.IOException: No space left on device > at java.io.UnixFileSystem.createFileExclusively(Native Method) > at java.io.File.createNewFile(File.java:1012) > at > org.apache.hadoop.hdfs.server.datanode.DatanodeUtil.createTmpFile(DatanodeUtil.java:66) > at > org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.BlockPoolSlice.createRbwFile(BlockPoolSlice.java:274) > at > org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsVolumeImpl.createRbwFile(FsVolumeImpl.java:762) > at > org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl.createRbw(FsDatasetImpl.java:1320) > at > org.apache.hadoop.hdfs.server.datanode.BlockReceiver.<init>(BlockReceiver.java:190) > at > org.apache.hadoop.hdfs.server.datanode.DataXceiver.writeBlock(DataXceiver.java:678) > at > org.apache.hadoop.hdfs.protocol.datatransfer.Receiver.opWriteBlock(Receiver.java:137) > at > org.apache.hadoop.hdfs.protocol.datatransfer.Receiver.processOp(Receiver.java:74) > at > org.apache.hadoop.hdfs.server.datanode.DataXceiver.run(DataXceiver.java:250) > at java.lang.Thread.run(Thread.java:745) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)