[ https://issues.apache.org/jira/browse/HADOOP-15281?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16762957#comment-16762957 ]
Eric Payne commented on HADOOP-15281: ------------------------------------- [~noslowerdna] and [~ste...@apache.org], this commit breaks the branch-3.1 build when building with java 1.8. {code:title="RetriableFileCopyCommand.java"} LOG.info("Copying {} to {}", source.getPath(), target); {code} Multiple lines have this error: {panel:title="Build Failure"} [ERROR] hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/mapred/RetriableFileCopyCommand.java:[121,8] no suitable method found for info(java.lang.String,org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path) [ERROR] method org.apache.commons.logging.Log.info(java.lang.Object) is not applicable [ERROR] (actual and formal argument lists differ in length) [ERROR] method org.apache.commons.logging.Log.info(java.lang.Object,java.lang.Throwable) is not applicable [ERROR] (actual and formal argument lists differ in length) {panel} > 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: Andrew Olson > Priority: Major > Fix For: 3.2.1, 3.1.3 > > Attachments: HADOOP-15281-001.patch, HADOOP-15281-002.patch, > HADOOP-15281-003.patch, HADOOP-15281-004.patch > > > 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 directly to the dest path, which can be > supplied as either a conf option (distcp.direct.write) or a CLI option > (-direct). -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org