Return-Path: X-Original-To: apmail-hadoop-mapreduce-commits-archive@minotaur.apache.org Delivered-To: apmail-hadoop-mapreduce-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E1EAE10DEB for ; Thu, 12 Dec 2013 18:41:29 +0000 (UTC) Received: (qmail 63567 invoked by uid 500); 12 Dec 2013 18:41:29 -0000 Delivered-To: apmail-hadoop-mapreduce-commits-archive@hadoop.apache.org Received: (qmail 63494 invoked by uid 500); 12 Dec 2013 18:41:29 -0000 Mailing-List: contact mapreduce-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: mapreduce-dev@hadoop.apache.org Delivered-To: mailing list mapreduce-commits@hadoop.apache.org Received: (qmail 63486 invoked by uid 99); 12 Dec 2013 18:41:29 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 12 Dec 2013 18:41:29 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.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; Thu, 12 Dec 2013 18:41:26 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 3B8C5238888F; Thu, 12 Dec 2013 18:41:05 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1550483 - in /hadoop/common/branches/branch-2.3/hadoop-mapreduce-project: ./ hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/ hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/test/... Date: Thu, 12 Dec 2013 18:41:05 -0000 To: mapreduce-commits@hadoop.apache.org From: cnauroth@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20131212184105.3B8C5238888F@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: cnauroth Date: Thu Dec 12 18:41:04 2013 New Revision: 1550483 URL: http://svn.apache.org/r1550483 Log: MAPREDUCE-5674. Merging change r1550474 from branch-2 to branch-2.3 Modified: hadoop/common/branches/branch-2.3/hadoop-mapreduce-project/CHANGES.txt hadoop/common/branches/branch-2.3/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/TypeConverter.java hadoop/common/branches/branch-2.3/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/test/java/org/apache/hadoop/mapreduce/TestTypeConverter.java Modified: hadoop/common/branches/branch-2.3/hadoop-mapreduce-project/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.3/hadoop-mapreduce-project/CHANGES.txt?rev=1550483&r1=1550482&r2=1550483&view=diff ============================================================================== --- hadoop/common/branches/branch-2.3/hadoop-mapreduce-project/CHANGES.txt (original) +++ hadoop/common/branches/branch-2.3/hadoop-mapreduce-project/CHANGES.txt Thu Dec 12 18:41:04 2013 @@ -53,6 +53,9 @@ Release 2.3.0 - UNRELEASED event: TA_TOO_MANY_FETCH_FAILURE at KILLED for TaskAttemptImpl (Gera Shegalov via jlowe) + MAPREDUCE-5674. Missing start and finish time in mapred.JobStatus. + (Chuan Liu via cnauroth) + Release 2.2.0 - 2013-10-13 INCOMPATIBLE CHANGES Modified: hadoop/common/branches/branch-2.3/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/TypeConverter.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.3/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/TypeConverter.java?rev=1550483&r1=1550482&r2=1550483&view=diff ============================================================================== --- hadoop/common/branches/branch-2.3/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/TypeConverter.java (original) +++ hadoop/common/branches/branch-2.3/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/TypeConverter.java Thu Dec 12 18:41:04 2013 @@ -300,6 +300,8 @@ public class TypeConverter { .getCleanupProgress(), fromYarn(jobreport.getJobState()), jobPriority, jobreport.getUser(), jobreport.getJobName(), jobreport .getJobFile(), trackingUrl, jobreport.isUber()); + jobStatus.setStartTime(jobreport.getStartTime()); + jobStatus.setFinishTime(jobreport.getFinishTime()); jobStatus.setFailureInfo(jobreport.getDiagnostics()); return jobStatus; } @@ -441,6 +443,7 @@ public class TypeConverter { ); jobStatus.setSchedulingInfo(trackingUrl); // Set AM tracking url jobStatus.setStartTime(application.getStartTime()); + jobStatus.setFinishTime(application.getFinishTime()); jobStatus.setFailureInfo(application.getDiagnostics()); jobStatus.setNeededMem(application.getApplicationResourceUsageReport().getNeededResources().getMemory()); jobStatus.setNumReservedSlots(application.getApplicationResourceUsageReport().getNumReservedContainers()); Modified: hadoop/common/branches/branch-2.3/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/test/java/org/apache/hadoop/mapreduce/TestTypeConverter.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.3/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/test/java/org/apache/hadoop/mapreduce/TestTypeConverter.java?rev=1550483&r1=1550482&r2=1550483&view=diff ============================================================================== --- hadoop/common/branches/branch-2.3/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/test/java/org/apache/hadoop/mapreduce/TestTypeConverter.java (original) +++ hadoop/common/branches/branch-2.3/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/test/java/org/apache/hadoop/mapreduce/TestTypeConverter.java Thu Dec 12 18:41:04 2013 @@ -27,6 +27,8 @@ import junit.framework.Assert; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.mapreduce.JobStatus.State; +import org.apache.hadoop.mapreduce.v2.api.records.JobId; +import org.apache.hadoop.mapreduce.v2.api.records.JobReport; import org.apache.hadoop.mapreduce.v2.api.records.JobState; import org.apache.hadoop.mapreduce.v2.api.records.TaskState; import org.apache.hadoop.mapreduce.v2.api.records.TaskType; @@ -71,6 +73,7 @@ public class TestTypeConverter { @Test public void testFromYarn() throws Exception { int appStartTime = 612354; + int appFinishTime = 612355; YarnApplicationState state = YarnApplicationState.RUNNING; ApplicationId applicationId = ApplicationId.newInstance(0, 0); ApplicationReport applicationReport = Records @@ -78,6 +81,7 @@ public class TestTypeConverter { applicationReport.setApplicationId(applicationId); applicationReport.setYarnApplicationState(state); applicationReport.setStartTime(appStartTime); + applicationReport.setFinishTime(appFinishTime); applicationReport.setUser("TestTypeConverter-user"); ApplicationResourceUsageReport appUsageRpt = Records .newRecord(ApplicationResourceUsageReport.class); @@ -91,6 +95,7 @@ public class TestTypeConverter { applicationReport.setApplicationResourceUsageReport(appUsageRpt); JobStatus jobStatus = TypeConverter.fromYarn(applicationReport, "dummy-jobfile"); Assert.assertEquals(appStartTime, jobStatus.getStartTime()); + Assert.assertEquals(appFinishTime, jobStatus.getFinishTime()); Assert.assertEquals(state.toString(), jobStatus.getState().toString()); } @@ -172,4 +177,25 @@ public class TestTypeConverter { Assert.assertEquals("QueueInfo children weren't properly converted", returned.getQueueChildren().size(), 1); } + + @Test + public void testFromYarnJobReport() throws Exception { + int jobStartTime = 612354; + int jobFinishTime = 612355; + JobState state = JobState.RUNNING; + JobId jobId = Records.newRecord(JobId.class); + JobReport jobReport = Records.newRecord(JobReport.class); + ApplicationId applicationId = ApplicationId.newInstance(0, 0); + jobId.setAppId(applicationId); + jobId.setId(0); + jobReport.setJobId(jobId); + jobReport.setJobState(state); + jobReport.setStartTime(jobStartTime); + jobReport.setFinishTime(jobFinishTime); + jobReport.setUser("TestTypeConverter-user"); + JobStatus jobStatus = TypeConverter.fromYarn(jobReport, "dummy-jobfile"); + Assert.assertEquals(jobStartTime, jobStatus.getStartTime()); + Assert.assertEquals(jobFinishTime, jobStatus.getFinishTime()); + Assert.assertEquals(state.toString(), jobStatus.getState().toString()); + } }