You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Dinesh Chitlangia (JIRA)" <ji...@apache.org> on 2018/10/17 21:04:00 UTC

[jira] [Commented] (HADOOP-15281) Distcp to add no-rename copy option

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

Dinesh Chitlangia commented on HADOOP-15281:
--------------------------------------------

[~stevel@apache.org]
{quote}for a many-GB rename, the rename can take so long that the worker stops heartbeating; AM fails it, etc. etc.
{quote}
This is spot on. I encountered a production cluster where distcp with file sizes greater than 250G have been encountering failures.

> 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
>            Priority: Major
>
> Currently Distcp uploads a file by two strategies
> # append parts
> # copy to temp then rename
> option 2 executes the following sequence 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