hadoop-mapreduce-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bo...@apache.org
Subject svn commit: r1399289 - in /hadoop/common/trunk/hadoop-mapreduce-project: ./ hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/ hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/...
Date Wed, 17 Oct 2012 14:58:08 GMT
Author: bobby
Date: Wed Oct 17 14:58:08 2012
New Revision: 1399289

URL: http://svn.apache.org/viewvc?rev=1399289&view=rev
Log:
MAPREDUCE-4721. Task startup time in JHS is same as job startup time. (Ravi Prakash via bobby)

Added:
    hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestCompletedTask.java
Modified:
    hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
    hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/CompletedTask.java

Modified: hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt?rev=1399289&r1=1399288&r2=1399289&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt (original)
+++ hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt Wed Oct 17 14:58:08 2012
@@ -579,6 +579,9 @@ Release 0.23.5 - UNRELEASED
     MAPREDUCE-4521. mapreduce.user.classpath.first incompatibility with 0.20/1.x
     (Ravi Prakash via bobby)
 
+    MAPREDUCE-4721. Task startup time in JHS is same as job startup time.
+    (Ravi Prakash via bobby)
+
 Release 0.23.4 - UNRELEASED
 
   INCOMPATIBLE CHANGES

Modified: hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/CompletedTask.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/CompletedTask.java?rev=1399289&r1=1399288&r2=1399289&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/CompletedTask.java
(original)
+++ hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/CompletedTask.java
Wed Oct 17 14:58:08 2012
@@ -122,7 +122,12 @@ public class CompletedTask implements Ta
     loadAllTaskAttempts();
     this.report = Records.newRecord(TaskReport.class);
     report.setTaskId(taskId);
-    report.setStartTime(taskInfo.getStartTime());
+    long minLaunchTime = Long.MAX_VALUE;
+    for(TaskAttempt attempt: attempts.values()) {
+      minLaunchTime = Math.min(minLaunchTime, attempt.getLaunchTime());
+    }
+    minLaunchTime = minLaunchTime == Long.MAX_VALUE ? -1 : minLaunchTime;
+    report.setStartTime(minLaunchTime);
     report.setFinishTime(taskInfo.getFinishTime());
     report.setTaskState(getState());
     report.setProgress(getProgress());

Added: hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestCompletedTask.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestCompletedTask.java?rev=1399289&view=auto
==============================================================================
--- hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestCompletedTask.java
(added)
+++ hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestCompletedTask.java
Wed Oct 17 14:58:08 2012
@@ -0,0 +1,66 @@
+/**
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package org.apache.hadoop.mapreduce.v2.hs;
+
+import java.util.Map;
+import java.util.TreeMap;
+
+import org.apache.hadoop.mapreduce.TaskAttemptID;
+import org.apache.hadoop.mapreduce.TaskType;
+import org.apache.hadoop.mapreduce.jobhistory.JobHistoryParser.TaskAttemptInfo;
+import org.apache.hadoop.mapreduce.jobhistory.JobHistoryParser.TaskInfo;
+import org.apache.hadoop.mapreduce.v2.api.records.TaskId;
+import org.apache.hadoop.mapreduce.v2.api.records.TaskReport;
+import org.apache.hadoop.mapreduce.v2.hs.CompletedTask;
+import org.junit.Assert;
+import org.junit.Test;
+import org.mockito.Mockito;
+
+public class TestCompletedTask{
+
+  @Test
+  public void testTaskStartTimes() {
+    
+    TaskId taskId = Mockito.mock(TaskId.class); 
+    TaskInfo taskInfo = Mockito.mock(TaskInfo.class);
+    Map<TaskAttemptID, TaskAttemptInfo> taskAttempts
+      = new TreeMap<TaskAttemptID, TaskAttemptInfo>();
+    
+    TaskAttemptID id = new TaskAttemptID("0", 0, TaskType.MAP, 0, 0);
+    TaskAttemptInfo info = Mockito.mock(TaskAttemptInfo.class);
+    Mockito.when(info.getAttemptId()).thenReturn(id);
+    Mockito.when(info.getStartTime()).thenReturn(10l);
+    taskAttempts.put(id, info);
+    
+    id = new TaskAttemptID("1", 0, TaskType.MAP, 1, 1);
+    info = Mockito.mock(TaskAttemptInfo.class);
+    Mockito.when(info.getAttemptId()).thenReturn(id);
+    Mockito.when(info.getStartTime()).thenReturn(20l);
+    taskAttempts.put(id, info);
+    
+    
+    Mockito.when(taskInfo.getAllTaskAttempts()).thenReturn(taskAttempts);
+    CompletedTask task = new CompletedTask(taskId, taskInfo);
+    TaskReport report = task.getReport();
+
+    // Make sure the startTime returned by report is the lesser of the 
+    // attempy launch times
+    Assert.assertTrue(report.getStartTime() == 10);
+  }
+}



Mime
View raw message