[
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