[
https://issues.apache.org/jira/browse/HADOOP-11525?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14301861#comment-14301861
]
Steve Loughran commented on HADOOP-11525:
-----------------------------------------
Mark it as included; I did lift your patch to the FS client to make it the
first real use case.
Now, one thing that could be good would to be to make some publishing of the
semantics something that every FS does -but then, life gets complex fast. For
the HADOOP-9361 contract tests I did make every FS publish their rules, [such
as for
localfs|https://github.com/apache/hadoop/blob/trunk/hadoop-common-project/hadoop-common/src/test/resources/contract/localfs.xml]
... but we kept them in test/resources as they were intended to be only stuff
that tests should care about when measuring how different the other
implementations were from HDFS, using the flags to verify that their different
behavior was at least as expected. I'd hate to have code checks everywhere that
looks for filesystem quirks. Either code for HDFS or target the lowest common
denominator of an object store with write-on-close and minimal consistency
guarantees. And for that, we need to identify those critical code paths that
assume HDFS but end up with the latter....
> FileSystem should expose some performance characteristics for caller (e.g.,
> FsShell) to choose the right algorithm.
> -------------------------------------------------------------------------------------------------------------------
>
> Key: HADOOP-11525
> URL: https://issues.apache.org/jira/browse/HADOOP-11525
> Project: Hadoop Common
> Issue Type: Improvement
> Components: tools
> Affects Versions: 2.6.0
> Reporter: Lei (Eddy) Xu
> Assignee: Lei (Eddy) Xu
> Attachments: HADOOP-11525.000.patch
>
>
> When running {{hadoop fs -put}}, {{FsShell}} creates a {{._COPYING_.}} file
> on the target directory, and then renames it to target file when the write is
> done. However, for some targeted systems, such as S3, Azure and Swift, a
> partial failure write request (i.e., {{PUT}}) has not side effect, while the
> {{rename}} operation is expensive.
> {{FileSystem}} should expose some characteristics so that the operation such
> as {{CommandWithDestination#copyStreamToTarget()}} can detect and choose the
> right way to do.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)