MAPREDUCE-2963. Fix hang in TestMRJobs. Contributed by Siddharth Seth.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1166975 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
a0f13a28f7
commit
71e0515433
|
@ -1251,6 +1251,8 @@ Release 0.23.0 - Unreleased
|
||||||
incorrectly assume application was gone by making submission synchronous
|
incorrectly assume application was gone by making submission synchronous
|
||||||
for RMAppManager. (Thomas Graves via acmurthy)
|
for RMAppManager. (Thomas Graves via acmurthy)
|
||||||
|
|
||||||
|
MAPREDUCE-2963. Fix hang in TestMRJobs. (Siddharth Seth via acmurthy)
|
||||||
|
|
||||||
Release 0.22.0 - Unreleased
|
Release 0.22.0 - Unreleased
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
package org.apache.hadoop.mapred;
|
package org.apache.hadoop.mapred;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.security.PrivilegedAction;
|
import java.security.PrivilegedAction;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -197,7 +198,7 @@ class ClientServiceDelegate {
|
||||||
//succeeded.
|
//succeeded.
|
||||||
if (application.getState() == ApplicationState.SUCCEEDED) {
|
if (application.getState() == ApplicationState.SUCCEEDED) {
|
||||||
LOG.info("Application state is completed. " +
|
LOG.info("Application state is completed. " +
|
||||||
"Redirecting to job history server " + serviceAddr);
|
"Redirecting to job history server");
|
||||||
realProxy = historyServerProxy;
|
realProxy = historyServerProxy;
|
||||||
}
|
}
|
||||||
return realProxy;
|
return realProxy;
|
||||||
|
@ -238,8 +239,14 @@ class ClientServiceDelegate {
|
||||||
LOG.warn("Exception thrown by remote end.");
|
LOG.warn("Exception thrown by remote end.");
|
||||||
LOG.warn(RPCUtil.toString(yre));
|
LOG.warn(RPCUtil.toString(yre));
|
||||||
throw yre;
|
throw yre;
|
||||||
|
} catch (InvocationTargetException e) {
|
||||||
|
//TODO Finite # of errors before giving up?
|
||||||
|
LOG.info("Failed to contact AM/History for job " + jobId
|
||||||
|
+ " Will retry..", e.getTargetException());
|
||||||
|
forceRefresh = true;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.info("Failed to contact AM for job " + jobId + " Will retry..");
|
LOG.info("Failed to contact AM/History for job " + jobId
|
||||||
|
+ " Will retry..", e);
|
||||||
LOG.debug("Failing to contact application master", e);
|
LOG.debug("Failing to contact application master", e);
|
||||||
forceRefresh = true;
|
forceRefresh = true;
|
||||||
}
|
}
|
||||||
|
@ -306,9 +313,13 @@ class ClientServiceDelegate {
|
||||||
return TypeConverter.fromYarn(report, jobFile, "");
|
return TypeConverter.fromYarn(report, jobFile, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
org.apache.hadoop.mapreduce.TaskReport[] getTaskReports(JobID jobID, TaskType taskType)
|
org.apache.hadoop.mapreduce.TaskReport[] getTaskReports(JobID oldJobID, TaskType taskType)
|
||||||
throws YarnRemoteException, YarnRemoteException {
|
throws YarnRemoteException, YarnRemoteException {
|
||||||
|
org.apache.hadoop.mapreduce.v2.api.records.JobId jobId =
|
||||||
|
TypeConverter.toYarn(oldJobID);
|
||||||
GetTaskReportsRequest request = recordFactory.newRecordInstance(GetTaskReportsRequest.class);
|
GetTaskReportsRequest request = recordFactory.newRecordInstance(GetTaskReportsRequest.class);
|
||||||
|
request.setJobId(jobId);
|
||||||
|
request.setTaskType(TypeConverter.toYarn(taskType));
|
||||||
|
|
||||||
List<org.apache.hadoop.mapreduce.v2.api.records.TaskReport> taskReports =
|
List<org.apache.hadoop.mapreduce.v2.api.records.TaskReport> taskReports =
|
||||||
((GetTaskReportsResponse) invoke("getTaskReports", GetTaskReportsRequest.class,
|
((GetTaskReportsResponse) invoke("getTaskReports", GetTaskReportsRequest.class,
|
||||||
|
|
Loading…
Reference in New Issue