hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Loughran (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HADOOP-15281) Distcp to add no-rename copy option
Date Fri, 02 Mar 2018 18:04:00 GMT
Steve Loughran created HADOOP-15281:
---------------------------------------

             Summary: Distcp to add no-rename copy option
                 Key: HADOOP-15281
                 URL: https://issues.apache.org/jira/browse/HADOOP-15281
             Project: Hadoop Common
          Issue Type: Improvement
          Components: tools/distcp
    Affects Versions: 3.0.0
            Reporter: Steve Loughran
            Assignee: Steve Loughran


Currently Distcp uploads a file by two strategies

# append parts
# copy to temp then rename


option 2 executes the following swquence in {{promoteTmpToTarget}}
{code}
    if ((fs.exists(target) && !fs.delete(target, false))
        || (!fs.exists(target.getParent()) && !fs.mkdirs(target.getParent()))
        || !fs.rename(tmpTarget, target)) {
      throw new IOException("Failed to promote tmp-file:" + tmpTarget
                              + " to: " + target);
    }
{code}

For any object store, that's a lot of HTTP requests; for S3A you are looking at 12+ requests
and an O(data) copy call. 

This is not a good upload strategy for any store which manifests its output atomically at
the end of the write().

Proposed: add a switch to write direct to the dest path. either a conf option or a CLI option








--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org


Mime
View raw message