MAPREDUCE-5001. LocalJobRunner has race condition resulting in job failures. Contributed by Sandy Ryza
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1515863 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
f6a1f4d1e0
commit
f7ca7ec4c9
|
@ -223,6 +223,9 @@ Release 2.1.1-beta - UNRELEASED
|
||||||
MAPREDUCE-5454. TestDFSIO fails intermittently on JDK7 (Karthik Kambatla
|
MAPREDUCE-5454. TestDFSIO fails intermittently on JDK7 (Karthik Kambatla
|
||||||
via Sandy Ryza)
|
via Sandy Ryza)
|
||||||
|
|
||||||
|
MAPREDUCE-5001. LocalJobRunner has race condition resulting in job
|
||||||
|
failures (Sandy Ryza via jlowe)
|
||||||
|
|
||||||
Release 2.1.0-beta - 2013-08-22
|
Release 2.1.0-beta - 2013-08-22
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
@ -1298,6 +1301,9 @@ Release 0.23.10 - UNRELEASED
|
||||||
|
|
||||||
MAPREDUCE-5440. TestCopyCommitter Fails on JDK7 (Robert Parker via jlowe)
|
MAPREDUCE-5440. TestCopyCommitter Fails on JDK7 (Robert Parker via jlowe)
|
||||||
|
|
||||||
|
MAPREDUCE-5001. LocalJobRunner has race condition resulting in job
|
||||||
|
failures (Sandy Ryza via jlowe)
|
||||||
|
|
||||||
Release 0.23.9 - 2013-07-08
|
Release 0.23.9 - 2013-07-08
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
package org.apache.hadoop.mapreduce;
|
package org.apache.hadoop.mapreduce;
|
||||||
|
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
import java.security.PrivilegedExceptionAction;
|
import java.security.PrivilegedExceptionAction;
|
||||||
|
@ -181,7 +182,18 @@ public class Cluster {
|
||||||
public Job getJob(JobID jobId) throws IOException, InterruptedException {
|
public Job getJob(JobID jobId) throws IOException, InterruptedException {
|
||||||
JobStatus status = client.getJobStatus(jobId);
|
JobStatus status = client.getJobStatus(jobId);
|
||||||
if (status != null) {
|
if (status != null) {
|
||||||
return Job.getInstance(this, status, new JobConf(status.getJobFile()));
|
JobConf conf;
|
||||||
|
try {
|
||||||
|
conf = new JobConf(status.getJobFile());
|
||||||
|
} catch (RuntimeException ex) {
|
||||||
|
// If job file doesn't exist it means we can't find the job
|
||||||
|
if (ex.getCause() instanceof FileNotFoundException) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
|
throw ex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return Job.getInstance(this, status, conf);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue