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 ac...@apache.org on 2012/02/18 03:29:54 UTC
svn commit: r1245844 - in
/hadoop/common/branches/branch-0.23.1/hadoop-mapreduce-project: ./
hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/main/java/org/apache/hadoop/mapred/
hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src...
Author: acmurthy
Date: Sat Feb 18 02:29:54 2012
New Revision: 1245844
URL: http://svn.apache.org/viewvc?rev=1245844&view=rev
Log:
Merge -c 1245276 from trunk to branch-0.23.1 to fix MAPREDUCE-3856. Instances of RunningJob class givs incorrect job tracking urls when mutiple jobs are submitted from same client jvm.
Modified:
hadoop/common/branches/branch-0.23.1/hadoop-mapreduce-project/CHANGES.txt
hadoop/common/branches/branch-0.23.1/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/main/java/org/apache/hadoop/mapred/ClientServiceDelegate.java
hadoop/common/branches/branch-0.23.1/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/v2/TestMRJobs.java
Modified: hadoop/common/branches/branch-0.23.1/hadoop-mapreduce-project/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23.1/hadoop-mapreduce-project/CHANGES.txt?rev=1245844&r1=1245843&r2=1245844&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23.1/hadoop-mapreduce-project/CHANGES.txt (original)
+++ hadoop/common/branches/branch-0.23.1/hadoop-mapreduce-project/CHANGES.txt Sat Feb 18 02:29:54 2012
@@ -1,6 +1,6 @@
Hadoop MapReduce Change Log
-Release 0.23.1 - 2012-02-08
+Release 0.23.1 - 2012-02-17
INCOMPATIBLE CHANGES
@@ -753,6 +753,10 @@ Release 0.23.1 - 2012-02-08
MAPREDUCE-3858. Task attempt failure during commit results in task never completing.
(Tom White via mahadev)
+ MAPREDUCE-3856. Instances of RunningJob class givs incorrect job tracking
+ urls when mutiple jobs are submitted from same client jvm. (Eric Payne via
+ sseth)
+
Release 0.23.0 - 2011-11-01
INCOMPATIBLE CHANGES
Modified: hadoop/common/branches/branch-0.23.1/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/main/java/org/apache/hadoop/mapred/ClientServiceDelegate.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23.1/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/main/java/org/apache/hadoop/mapred/ClientServiceDelegate.java?rev=1245844&r1=1245843&r2=1245844&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23.1/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/main/java/org/apache/hadoop/mapred/ClientServiceDelegate.java (original)
+++ hadoop/common/branches/branch-0.23.1/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/main/java/org/apache/hadoop/mapred/ClientServiceDelegate.java Sat Feb 18 02:29:54 2012
@@ -81,8 +81,7 @@ public class ClientServiceDelegate {
private static final Log LOG = LogFactory.getLog(ClientServiceDelegate.class);
// Caches for per-user NotRunningJobs
- private static HashMap<JobState, HashMap<String, NotRunningJob>> notRunningJobs =
- new HashMap<JobState, HashMap<String, NotRunningJob>>();
+ private HashMap<JobState, HashMap<String, NotRunningJob>> notRunningJobs;
private final Configuration conf;
private final JobID jobId;
@@ -108,6 +107,7 @@ public class ClientServiceDelegate {
this.jobId = jobId;
this.historyServerProxy = historyServerProxy;
this.appId = TypeConverter.toYarn(jobId).getAppId();
+ notRunningJobs = new HashMap<JobState, HashMap<String, NotRunningJob>>();
}
// Get the instance of the NotRunningJob corresponding to the specified
Modified: hadoop/common/branches/branch-0.23.1/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/v2/TestMRJobs.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23.1/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/v2/TestMRJobs.java?rev=1245844&r1=1245843&r2=1245844&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23.1/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/v2/TestMRJobs.java (original)
+++ hadoop/common/branches/branch-0.23.1/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/v2/TestMRJobs.java Sat Feb 18 02:29:54 2012
@@ -148,10 +148,15 @@ public class TestMRJobs {
job.addFileToClassPath(APP_JAR); // The AppMaster jar itself.
job.setJarByClass(SleepJob.class);
job.setMaxMapAttempts(1); // speed up failures
- job.waitForCompletion(true);
+ job.submit();
+ String trackingUrl = job.getTrackingURL();
+ String jobId = job.getJobID().toString();
boolean succeeded = job.waitForCompletion(true);
Assert.assertTrue(succeeded);
Assert.assertEquals(JobStatus.State.SUCCEEDED, job.getJobState());
+ Assert.assertTrue("Tracking URL was " + trackingUrl +
+ " but didn't Match Job ID " + jobId ,
+ trackingUrl.endsWith(jobId.substring(jobId.lastIndexOf("_")) + "/"));
verifySleepJobCounters(job);
verifyTaskProgress(job);
@@ -209,9 +214,15 @@ public class TestMRJobs {
job.addFileToClassPath(APP_JAR); // The AppMaster jar itself.
job.setJarByClass(RandomTextWriterJob.class);
job.setMaxMapAttempts(1); // speed up failures
+ job.submit();
+ String trackingUrl = job.getTrackingURL();
+ String jobId = job.getJobID().toString();
boolean succeeded = job.waitForCompletion(true);
Assert.assertTrue(succeeded);
Assert.assertEquals(JobStatus.State.SUCCEEDED, job.getJobState());
+ Assert.assertTrue("Tracking URL was " + trackingUrl +
+ " but didn't Match Job ID " + jobId ,
+ trackingUrl.endsWith(jobId.substring(jobId.lastIndexOf("_")) + "/"));
// Make sure there are three files in the output-dir
@@ -316,9 +327,14 @@ public class TestMRJobs {
new Path(mrCluster.getTestWorkDir().getAbsolutePath(),
"failmapper-output"));
job.addFileToClassPath(APP_JAR); // The AppMaster jar itself.
+ job.submit();
+ String trackingUrl = job.getTrackingURL();
+ String jobId = job.getJobID().toString();
boolean succeeded = job.waitForCompletion(true);
Assert.assertFalse(succeeded);
-
+ Assert.assertTrue("Tracking URL was " + trackingUrl +
+ " but didn't Match Job ID " + jobId ,
+ trackingUrl.endsWith(jobId.substring(jobId.lastIndexOf("_")) + "/"));
return job;
}
@@ -360,8 +376,14 @@ public class TestMRJobs {
// //Job with reduces
// Job job = sleepJob.createJob(3, 2, 10000, 1, 10000, 1);
job.addFileToClassPath(APP_JAR); // The AppMaster jar itself.
+ job.submit();
+ String trackingUrl = job.getTrackingURL();
+ String jobId = job.getJobID().toString();
job.waitForCompletion(true);
Assert.assertEquals(JobStatus.State.SUCCEEDED, job.getJobState());
+ Assert.assertTrue("Tracking URL was " + trackingUrl +
+ " but didn't Match Job ID " + jobId ,
+ trackingUrl.endsWith(jobId.substring(jobId.lastIndexOf("_")) + "/"));
return null;
}
});
@@ -444,7 +466,12 @@ public class TestMRJobs {
job.setMaxMapAttempts(1); // speed up failures
job.submit();
+ String trackingUrl = job.getTrackingURL();
+ String jobId = job.getJobID().toString();
Assert.assertTrue(job.waitForCompletion(false));
+ Assert.assertTrue("Tracking URL was " + trackingUrl +
+ " but didn't Match Job ID " + jobId ,
+ trackingUrl.endsWith(jobId.substring(jobId.lastIndexOf("_")) + "/"));
}
private Path createTempFile(String filename, String contents)