Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.0.2-alpha
-
None
-
Reviewed
Description
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:
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