You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-commits@hadoop.apache.org by tu...@apache.org on 2013/06/12 20:47:33 UTC
svn commit: r1492360 - in /hadoop/common/trunk/hadoop-mapreduce-project: ./
hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/
hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoo...
Author: tucu
Date: Wed Jun 12 18:47:33 2013
New Revision: 1492360
URL: http://svn.apache.org/r1492360
Log:
MAPREDUCE-5304. mapreduce.Job killTask/failTask/getTaskCompletionEvents methods have incompatible signature changes. (kkambatl via tucu)
Modified:
hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/TaskCompletionEvent.java
hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/Job.java
hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/tools/CLI.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=1492360&r1=1492359&r2=1492360&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt (original)
+++ hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt Wed Jun 12 18:47:33 2013
@@ -540,6 +540,9 @@ Release 2.1.0-beta - UNRELEASED
MAPREDUCE-5312. TestRMNMInfo is failing. (sandyr via tucu)
+ MAPREDUCE-5304. mapreduce.Job killTask/failTask/getTaskCompletionEvents
+ methods have incompatible signature changes. (kkambatl via tucu)
+
Release 2.0.5-alpha - 06/06/2013
INCOMPATIBLE CHANGES
Modified: hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/TaskCompletionEvent.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/TaskCompletionEvent.java?rev=1492360&r1=1492359&r2=1492360&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/TaskCompletionEvent.java (original)
+++ hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/TaskCompletionEvent.java Wed Jun 12 18:47:33 2013
@@ -62,8 +62,9 @@ public class TaskCompletionEvent
super(eventId, taskId, idWithinJob, isMap, org.apache.hadoop.mapreduce.
TaskCompletionEvent.Status.valueOf(status.name()), taskTrackerHttp);
}
-
- static TaskCompletionEvent downgrade(
+
+ @Private
+ public static TaskCompletionEvent downgrade(
org.apache.hadoop.mapreduce.TaskCompletionEvent event) {
return new TaskCompletionEvent(event.getEventId(),
TaskAttemptID.downgrade(event.getTaskAttemptId()),event.idWithinJob(),
Modified: hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/Job.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/Job.java?rev=1492360&r1=1492359&r2=1492360&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/Job.java (original)
+++ hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/Job.java Wed Jun 12 18:47:33 2013
@@ -675,13 +675,20 @@ public class Job extends JobContextImpl
* Get events indicating completion (success/failure) of component tasks.
*
* @param startFrom index to start fetching events from
- * @return an array of {@link TaskCompletionEvent}s
+ * @return an array of {@link org.apache.hadoop.mapred.TaskCompletionEvent}s
* @throws IOException
*/
- public TaskCompletionEvent[] getTaskCompletionEvents(final int startFrom)
- throws IOException {
+ public org.apache.hadoop.mapred.TaskCompletionEvent[]
+ getTaskCompletionEvents(final int startFrom) throws IOException {
try {
- return getTaskCompletionEvents(startFrom, 10);
+ TaskCompletionEvent[] events = getTaskCompletionEvents(startFrom, 10);
+ org.apache.hadoop.mapred.TaskCompletionEvent[] retEvents =
+ new org.apache.hadoop.mapred.TaskCompletionEvent[events.length];
+ for (int i = 0; i < events.length; i++) {
+ retEvents[i] = org.apache.hadoop.mapred.TaskCompletionEvent.downgrade
+ (events[i]);
+ }
+ return retEvents;
} catch (InterruptedException ie) {
throw new IOException(ie);
}
@@ -689,17 +696,19 @@ public class Job extends JobContextImpl
/**
* Kill indicated task attempt.
- *
- * @param taskId the id of the task to be terminated.
- * @throws IOException
+ * @param taskId the id of the task to kill.
+ * @param shouldFail if <code>true</code> the task is failed and added
+ * to failed tasks list, otherwise it is just killed,
+ * w/o affecting job failure status.
*/
- public boolean killTask(final TaskAttemptID taskId)
- throws IOException {
+ @Private
+ public boolean killTask(final TaskAttemptID taskId,
+ final boolean shouldFail) throws IOException {
ensureState(JobState.RUNNING);
try {
return ugi.doAs(new PrivilegedExceptionAction<Boolean>() {
public Boolean run() throws IOException, InterruptedException {
- return cluster.getClient().killTask(taskId, false);
+ return cluster.getClient().killTask(taskId, shouldFail);
}
});
}
@@ -709,25 +718,25 @@ public class Job extends JobContextImpl
}
/**
+ * Kill indicated task attempt.
+ *
+ * @param taskId the id of the task to be terminated.
+ * @throws IOException
+ */
+ public void killTask(final TaskAttemptID taskId)
+ throws IOException {
+ killTask(taskId, false);
+ }
+
+ /**
* Fail indicated task attempt.
*
* @param taskId the id of the task to be terminated.
* @throws IOException
*/
- public boolean failTask(final TaskAttemptID taskId)
+ public void failTask(final TaskAttemptID taskId)
throws IOException {
- ensureState(JobState.RUNNING);
- try {
- return ugi.doAs(new PrivilegedExceptionAction<Boolean>() {
- @Override
- public Boolean run() throws IOException, InterruptedException {
- return cluster.getClient().killTask(taskId, true);
- }
- });
- }
- catch (InterruptedException ie) {
- throw new IOException(ie);
- }
+ killTask(taskId, true);
}
/**
Modified: hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/tools/CLI.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/tools/CLI.java?rev=1492360&r1=1492359&r2=1492360&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/tools/CLI.java (original)
+++ hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/tools/CLI.java Wed Jun 12 18:47:33 2013
@@ -322,7 +322,7 @@ public class CLI extends Configured impl
Job job = cluster.getJob(taskID.getJobID());
if (job == null) {
System.out.println("Could not find job " + jobid);
- } else if (job.killTask(taskID)) {
+ } else if (job.killTask(taskID, false)) {
System.out.println("Killed task " + taskid);
exitCode = 0;
} else {
@@ -334,7 +334,7 @@ public class CLI extends Configured impl
Job job = cluster.getJob(taskID.getJobID());
if (job == null) {
System.out.println("Could not find job " + jobid);
- } else if(job.failTask(taskID)) {
+ } else if(job.killTask(taskID, true)) {
System.out.println("Killed task " + taskID + " by failing it");
exitCode = 0;
} else {