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 to...@apache.org on 2011/05/03 01:19:55 UTC
svn commit: r1098853 - in /hadoop/mapreduce/trunk: CHANGES.txt
src/contrib/fairscheduler/src/test/org/apache/hadoop/mapred/TestFairSchedulerSystem.java
src/java/org/apache/hadoop/mapred/JobInProgress.java
Author: todd
Date: Mon May 2 23:19:55 2011
New Revision: 1098853
URL: http://svn.apache.org/viewvc?rev=1098853&view=rev
Log:
MAPREDUCE-2457. Job submission should inject group.name on the JobTracker. Contributed by Alejandro Abdelnur.
Modified:
hadoop/mapreduce/trunk/CHANGES.txt
hadoop/mapreduce/trunk/src/contrib/fairscheduler/src/test/org/apache/hadoop/mapred/TestFairSchedulerSystem.java
hadoop/mapreduce/trunk/src/java/org/apache/hadoop/mapred/JobInProgress.java
Modified: hadoop/mapreduce/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/trunk/CHANGES.txt?rev=1098853&r1=1098852&r2=1098853&view=diff
==============================================================================
--- hadoop/mapreduce/trunk/CHANGES.txt (original)
+++ hadoop/mapreduce/trunk/CHANGES.txt Mon May 2 23:19:55 2011
@@ -689,6 +689,9 @@ Release 0.22.0 - Unreleased
MAPREDUCE-2445. Fix TestMiniMRWithDFSWithDistinctUsers to be a valid test.
(todd)
+ MAPREDUCE-2457. Job submission should inject group.name on the JobTracker
+ (Alejandro Abdelnur via todd)
+
Release 0.21.1 - Unreleased
NEW FEATURES
Modified: hadoop/mapreduce/trunk/src/contrib/fairscheduler/src/test/org/apache/hadoop/mapred/TestFairSchedulerSystem.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/trunk/src/contrib/fairscheduler/src/test/org/apache/hadoop/mapred/TestFairSchedulerSystem.java?rev=1098853&r1=1098852&r2=1098853&view=diff
==============================================================================
--- hadoop/mapreduce/trunk/src/contrib/fairscheduler/src/test/org/apache/hadoop/mapred/TestFairSchedulerSystem.java (original)
+++ hadoop/mapreduce/trunk/src/contrib/fairscheduler/src/test/org/apache/hadoop/mapred/TestFairSchedulerSystem.java Mon May 2 23:19:55 2011
@@ -18,6 +18,7 @@
package org.apache.hadoop.mapred;
import org.apache.hadoop.mapreduce.server.jobtracker.JTConfig;
+import org.apache.hadoop.security.UserGroupInformation;
import org.apache.hadoop.mapreduce.SleepJob;
import org.apache.hadoop.util.ToolRunner;
import org.apache.hadoop.conf.Configuration;
@@ -68,6 +69,7 @@ public class TestFairSchedulerSystem {
conf.set("mapred.fairscheduler.preemption.interval", "1");
conf.set("mapred.fairscheduler.preemption", "true");
conf.set("mapred.fairscheduler.eventlog.enabled", "true");
+ conf.set("mapred.fairscheduler.poolnameproperty", "group.name");
conf.set(JTConfig.JT_PERSIST_JOBSTATUS, "false");
mr = new MiniMRCluster(taskTrackers, "file:///", 1, null, null, conf);
}
@@ -166,6 +168,10 @@ public class TestFairSchedulerSystem {
String contents = sb.toString();
assertTrue("Bad contents for fair scheduler servlet: " + contents,
contents.contains("Fair Scheduler Administration"));
+
+ String userGroups[] = UserGroupInformation.getCurrentUser().getGroupNames();
+ String primaryGroup = ">" + userGroups[0] + "<";
+ assertTrue(contents.contains(primaryGroup));
}
private void checkTaskGraphServlet(JobID job) throws Exception {
Modified: hadoop/mapreduce/trunk/src/java/org/apache/hadoop/mapred/JobInProgress.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/trunk/src/java/org/apache/hadoop/mapred/JobInProgress.java?rev=1098853&r1=1098852&r2=1098853&view=diff
==============================================================================
--- hadoop/mapreduce/trunk/src/java/org/apache/hadoop/mapred/JobInProgress.java (original)
+++ hadoop/mapreduce/trunk/src/java/org/apache/hadoop/mapred/JobInProgress.java Mon May 2 23:19:55 2011
@@ -433,6 +433,13 @@ public class JobInProgress {
conf.getUser(), jobId.toString(), desc);
throw new IOException(desc);
}
+
+ String userGroups[] = ugi.getGroupNames();
+ String primaryGroup = (userGroups.length > 0) ? userGroups[0] : null;
+ if (primaryGroup != null) {
+ conf.set("group.name", primaryGroup);
+ }
+
this.priority = conf.getJobPriority();
this.profile = new JobProfile(conf.getUser(), this.jobId, jobFile
.toString(), url, conf.getJobName(), conf.getQueueName());