From core-commits-return-8618-apmail-hadoop-core-commits-archive=hadoop.apache.org@hadoop.apache.org Tue May 05 00:42:12 2009 Return-Path: Delivered-To: apmail-hadoop-core-commits-archive@www.apache.org Received: (qmail 44111 invoked from network); 5 May 2009 00:42:12 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 5 May 2009 00:42:12 -0000 Received: (qmail 98370 invoked by uid 500); 5 May 2009 00:42:12 -0000 Delivered-To: apmail-hadoop-core-commits-archive@hadoop.apache.org Received: (qmail 98306 invoked by uid 500); 5 May 2009 00:42:12 -0000 Mailing-List: contact core-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: core-dev@hadoop.apache.org Delivered-To: mailing list core-commits@hadoop.apache.org Received: (qmail 98297 invoked by uid 99); 5 May 2009 00:42:12 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 05 May 2009 00:42:12 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 05 May 2009 00:42:04 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 8BAE023888AF; Tue, 5 May 2009 00:41:44 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r771510 - in /hadoop/core/trunk: CHANGES.txt src/tools/org/apache/hadoop/tools/DistCp.java Date: Tue, 05 May 2009 00:41:44 -0000 To: core-commits@hadoop.apache.org From: cdouglas@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090505004144.8BAE023888AF@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: cdouglas Date: Tue May 5 00:41:43 2009 New Revision: 771510 URL: http://svn.apache.org/viewvc?rev=771510&view=rev Log: HADOOP-5675. Do not launch a job if DistCp has no work to do. Contributed by Tsz Wo (Nicholas), SZE Modified: hadoop/core/trunk/CHANGES.txt hadoop/core/trunk/src/tools/org/apache/hadoop/tools/DistCp.java Modified: hadoop/core/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/core/trunk/CHANGES.txt?rev=771510&r1=771509&r2=771510&view=diff ============================================================================== --- hadoop/core/trunk/CHANGES.txt (original) +++ hadoop/core/trunk/CHANGES.txt Tue May 5 00:41:43 2009 @@ -300,6 +300,9 @@ HADOOP-5596. Add EnumSetWritable. (He Yongqiang via szetszwo) + HADOOP-5675. Do not launch a job if DistCp has no work to do. (Tsz Wo + (Nicholas), SZE via cdouglas) + OPTIMIZATIONS HADOOP-5595. NameNode does not need to run a replicator to choose a Modified: hadoop/core/trunk/src/tools/org/apache/hadoop/tools/DistCp.java URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/tools/org/apache/hadoop/tools/DistCp.java?rev=771510&r1=771509&r2=771510&view=diff ============================================================================== --- hadoop/core/trunk/src/tools/org/apache/hadoop/tools/DistCp.java (original) +++ hadoop/core/trunk/src/tools/org/apache/hadoop/tools/DistCp.java Tue May 5 00:41:43 2009 @@ -647,8 +647,9 @@ //Initialize the mapper try { - setup(conf, job, args); - JobClient.runJob(job); + if (setup(conf, job, args)) { + JobClient.runJob(job); + } finalize(conf, job, args.dst, args.preservedAttributes); } finally { //delete tmp @@ -968,8 +969,9 @@ * @param conf : The dfs/mapred configuration. * @param jobConf : The handle to the jobConf object to be initialized. * @param args Arguments + * @return true if it is necessary to launch a job. */ - private static void setup(Configuration conf, JobConf jobConf, + private static boolean setup(Configuration conf, JobConf jobConf, final Arguments args) throws IOException { jobConf.set(DST_DIR_LABEL, args.dst.toUri().toString()); @@ -1139,10 +1141,12 @@ (dstExists && !dstIsDir) || (!dstExists && srcCount == 1)? args.dst.getParent(): args.dst, "_distcp_tmp_" + randomId); jobConf.set(TMP_DIR_LABEL, tmpDir.toUri().toString()); - LOG.info("srcCount=" + srcCount); + LOG.info("srcCount = " + srcCount); + LOG.info("byteCount= " + StringUtils.humanReadableInt(byteCount)); jobConf.setInt(SRC_COUNT_LABEL, srcCount); jobConf.setLong(TOTAL_SIZE_LABEL, byteCount); setMapCount(byteCount, jobConf); + return byteCount > 0; } /**