You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by to...@apache.org on 2013/01/08 17:37:41 UTC
svn commit: r1430371 - in /hadoop/common/branches/branch-1: CHANGES.txt
src/mapred/org/apache/hadoop/mapred/LocalJobRunner.java
Author: tomwhite
Date: Tue Jan 8 16:37:41 2013
New Revision: 1430371
URL: http://svn.apache.org/viewvc?rev=1430371&view=rev
Log:
MAPREDUCE-4278. Cannot run two local jobs in parallel from the same gateway. Contributed by Sandy Ryza.
Modified:
hadoop/common/branches/branch-1/CHANGES.txt
hadoop/common/branches/branch-1/src/mapred/org/apache/hadoop/mapred/LocalJobRunner.java
Modified: hadoop/common/branches/branch-1/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-1/CHANGES.txt?rev=1430371&r1=1430370&r2=1430371&view=diff
==============================================================================
--- hadoop/common/branches/branch-1/CHANGES.txt (original)
+++ hadoop/common/branches/branch-1/CHANGES.txt Tue Jan 8 16:37:41 2013
@@ -407,6 +407,9 @@ Release 1.2.0 - unreleased
HDFS-4351. In BlockPlacementPolicyDefault.chooseTarget(..), numOfReplicas
needs to be updated when avoiding stale nodes. (Andrew Wang via szetszwo)
+ MAPREDUCE-4278. Cannot run two local jobs in parallel from the same
+ gateway. (Sandy Ryza via tomwhite)
+
Release 1.1.2 - Unreleased
INCOMPATIBLE CHANGES
Modified: hadoop/common/branches/branch-1/src/mapred/org/apache/hadoop/mapred/LocalJobRunner.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-1/src/mapred/org/apache/hadoop/mapred/LocalJobRunner.java?rev=1430371&r1=1430370&r2=1430371&view=diff
==============================================================================
--- hadoop/common/branches/branch-1/src/mapred/org/apache/hadoop/mapred/LocalJobRunner.java (original)
+++ hadoop/common/branches/branch-1/src/mapred/org/apache/hadoop/mapred/LocalJobRunner.java Tue Jan 8 16:37:41 2013
@@ -427,8 +427,12 @@ class LocalJobRunner implements JobSubmi
// JobSubmissionProtocol methods
private static int jobid = 0;
+ // used for making sure that local jobs run in different jvms don't
+ // collide on staging or job directories
+ private int randid;
+
public synchronized JobID getNewJobId() {
- return new JobID("local", ++jobid);
+ return new JobID("local" + randid, ++jobid);
}
public JobStatus submitJob(JobID jobid, String jobSubmitDir,
@@ -541,10 +545,11 @@ class LocalJobRunner implements JobSubmi
"/tmp/hadoop/mapred/staging"));
UserGroupInformation ugi = UserGroupInformation.getCurrentUser();
String user;
+ randid = rand.nextInt(Integer.MAX_VALUE);
if (ugi != null) {
- user = ugi.getShortUserName() + rand.nextInt();
+ user = ugi.getShortUserName() + randid;
} else {
- user = "dummy" + rand.nextInt();
+ user = "dummy" + randid;
}
return fs.makeQualified(new Path(stagingRootDir, user+"/.staging")).toString();
}