[ https://issues.apache.org/jira/browse/HADOOP-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12548013 ]
Owen O'Malley commented on HADOOP-2231: --------------------------------------- Since we are going to Java 1.6 (ala HADOOP-2325), we can and should move to use java.io.File.getFreeSpace(). > ShellCommand, in particular 'df -k', sometimes hang > --------------------------------------------------- > > Key: HADOOP-2231 > URL: https://issues.apache.org/jira/browse/HADOOP-2231 > Project: Hadoop > Issue Type: Bug > Components: fs > Affects Versions: 0.15.1 > Reporter: Christian Kunz > Fix For: 0.15.2 > > Attachments: HADOOP-2231.patch > > > We noticed that some pipes applications writing to dfs using libhdfs have > about 6% chance of hanging when executing 'df -k' to find out whether there > is enough space available on the local filesystem before opening a file for > write. > Why not using File.getFreeSpace() or File.GetUsableSpace()? > The call stack is: > Exception in thread "main" java.io.IOException > at org.apache.hadoop.fs.ShellCommand.runCommand > (ShellCommand.java:52) > at org.apache.hadoop.fs.ShellCommand.run(ShellCommand.java:42) > at org.apache.hadoop.fs.DF.getAvailable(DF.java:72) > at org.apache.hadoop.fs.LocalDirAllocator > $AllocatorPerContext.getLocalPathForWrite(LocalDirAllocator.java:264) > at org.apache.hadoop.fs.LocalDirAllocator > $AllocatorPerContext.createTmpFileForWrite(LocalDirAllocator.java:294) > at > org.apache.hadoop.fs.LocalDirAllocator.createTmpFileForWrite > (LocalDirAllocator.java:155) > at org.apache.hadoop.dfs.DFSClient > $DFSOutputStream.newBackupFile(DFSClient.java:1470) > at org.apache.hadoop.dfs.DFSClient > $DFSOutputStream.openBackupStream(DFSClient.java:1437) > at org.apache.hadoop.dfs.DFSClient$DFSOutputStream.writeChunk > (DFSClient.java:1579) > at org.apache.hadoop.fs.FSOutputSummer.writeChecksumChunk > (FSOutputSummer.java:140) > at org.apache.hadoop.fs.FSOutputSummer.write1 > (FSOutputSummer.java:100) > at org.apache.hadoop.fs.FSOutputSummer.write > (FSOutputSummer.java:86) > at org.apache.hadoop.fs.FSDataOutputStream > $PositionCache.write(FSDataOutputStream.java:39) > at java.io.DataOutputStream.write(DataOutputStream.java:90) > at java.io.FilterOutputStream.write(FilterOutputStream.java:80) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.