[ https://issues.apache.org/jira/browse/HDFS-4140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13510200#comment-13510200 ]
Andy Isaacson commented on HDFS-4140: ------------------------------------- Thanks for the cleanup in .005, Colin. The new patch is a big improvement. There are multiple calls to {{info = hdfsGetPathInfo(fs, path);}} and to {{hdfsFreeFileInfo}} that can be coalesced -- move hdfsGetPathInfo up into the common code before the if(O_RDWR) test, and move hdfsFreeFileInfo to a "out:" common exit path. Other than that the new patch looks great. > fuse-dfs handles open(O_TRUNC) poorly > ------------------------------------- > > Key: HDFS-4140 > URL: https://issues.apache.org/jira/browse/HDFS-4140 > Project: Hadoop HDFS > Issue Type: Bug > Components: fuse-dfs > Affects Versions: 2.0.2-alpha > Reporter: Andy Isaacson > Assignee: Colin Patrick McCabe > Attachments: HDFS-4140.003.patch, HDFS-4140.004.patch, > HDFS-4140.005.patch > > > fuse-dfs handles open(O_TRUNC) poorly. > It is converted to multiple fuse operations. Those multiple fuse operations > often fail (for example, calling fuse_truncate_impl() while a file is also > open for write results in a "multiple writers!" exception.) > One easy way to see the problem is to run the following sequence of shell > commands: > {noformat} > ubuntu@ubu-cdh-0:~$ echo foo > /export/hdfs/tmp/a/t1.txt > ubuntu@ubu-cdh-0:~$ ls -l /export/hdfs/tmp/a > total 0 > -rw-r--r-- 1 ubuntu hadoop 4 Nov 1 15:21 t1.txt > ubuntu@ubu-cdh-0:~$ hdfs dfs -ls /tmp/a > Found 1 items > -rw-r--r-- 3 ubuntu hadoop 4 2012-11-01 15:21 /tmp/a/t1.txt > ubuntu@ubu-cdh-0:~$ echo bar > /export/hdfs/tmp/a/t1.txt > ubuntu@ubu-cdh-0:~$ ls -l /export/hdfs/tmp/a > total 0 > -rw-r--r-- 1 ubuntu hadoop 0 Nov 1 15:22 t1.txt > ubuntu@ubu-cdh-0:~$ hdfs dfs -ls /tmp/a > Found 1 items > -rw-r--r-- 3 ubuntu hadoop 0 2012-11-01 15:22 /tmp/a/t1.txt > {noformat} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira