[ 
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.

Reply via email to