[ 
https://issues.apache.org/jira/browse/HDFS-4140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13493545#comment-13493545
 ] 

Andy Isaacson commented on HDFS-4140:
-------------------------------------

bq. provides correct semantics up until the point when the user asks for 
something we can't provide ... At that point it returns an error. So it seems 
strictly better than what you proposed (returning error immediately.)

I didn't propose anything!  I said "let's do APPEND for now, with the 
understanding that while it fixes the high-order-bit of our current semantic 
brokenness, it probably causes new breakage somewhere further down the line".  
I don't know what the right answer is, I'm just fairly sure this isn't 100% 
right.  But moving from our current 10% right to 50% right is an improvement, 
so let's do it.

I suspect I was unclear when I said "we should error out when the user asks for 
semantics that we can't support".  You seem to have read that as "error out 
immediately", I didn't mean that.  I meant that we should implement as much of 
the semantics as we can, and error out when we can't.  The right moment to 
return error will depend on the specifics of a given scenario.

My whole point here is that this specific change, adding APPEND to a flags word 
when the user didn't ask for APPEND, is probably neither required nor 
sufficient nor even entirely accurate.  So it will probably get backed out at 
some point when we have implemented things more fully.  And that is fine.  
Let's do the thing that gets a few important things working, right now, and 
make more progress in the future.

Anyways, +1 to the patch once the comments get updated to point to the JIRAs.
                
> 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
>
>
> 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

Reply via email to