瀏覽代碼

MAPREDUCE-2558. Add queue-level metrics 0.20-security branch (test fixes)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20-security@1133690 13f79535-47bb-0310-9956-ffa450edef68
Mahadev Konar 14 年之前
父節點
當前提交
5211ff6964

+ 3 - 0
CHANGES.txt

@@ -71,6 +71,9 @@ Release 0.20.205.0 - unreleased
     HDFS-2044. TestQueueProcessingStatistics failing automatic test due to 
     timing issues. (mattf)
 
+    MAPREDUCE-2558. Add queue-level metrics 0.20-security branch (test fixes)
+    (Jeffrey Naisbitt via mahadev) 
+
 Release 0.20.204.0 - unreleased
 
   NEW FEATURES

+ 10 - 2
src/mapred/org/apache/hadoop/mapred/JobInProgress.java

@@ -349,7 +349,11 @@ public class JobInProgress {
     this.mapFailuresPercent = conf.getMaxMapTaskFailuresPercent();
     this.reduceFailuresPercent = conf.getMaxReduceTaskFailuresPercent();
 
-    this.queueMetrics = this.jobtracker.getQueueManager().getQueue(queueName).getMetrics();
+    Queue queue = this.jobtracker.getQueueManager().getQueue(queueName);
+    if (queue == null) {
+      throw new IOException("Queue \"" + queueName + "\" does not exist");
+    }
+    this.queueMetrics = queue.getMetrics();
 
     // Check task limits
     checkTaskLimits();
@@ -427,7 +431,11 @@ public class JobInProgress {
       this.profile = new JobProfile(user, jobId, 
           jobFile, url, conf.getJobName(), queueName);
 
-      this.queueMetrics = this.jobtracker.getQueueManager().getQueue(queueName).getMetrics();
+      Queue queue = this.jobtracker.getQueueManager().getQueue(queueName);
+      if (queue == null) {
+        throw new IOException("Queue \"" + queueName + "\" does not exist");
+      }
+      this.queueMetrics = queue.getMetrics();
       this.queueMetrics.addPrepJob(conf, jobId);
 
       this.submitHostName = conf.getJobSubmitHostName();

+ 1 - 6
src/mapred/org/apache/hadoop/mapred/JobTracker.java

@@ -3932,13 +3932,8 @@ public class JobTracker implements MRConstants, InterTrackerProtocol,
     }
     
     synchronized (this) {
-      String queue = job.getProfile().getQueueName();
-      if (!(queueManager.getQueues().contains(queue))) {
-        job.fail();
-        throw new IOException("Queue \"" + queue + "\" does not exist");
-      }
-
       // check if queue is RUNNING
+      String queue = job.getProfile().getQueueName();
       if (!queueManager.isRunning(queue)) {
         throw new IOException("Queue \"" + queue + "\" is not running");
       }

+ 1 - 1
src/test/org/apache/hadoop/mapred/TestJobHistoryConfig.java

@@ -110,7 +110,7 @@ public class TestJobHistoryConfig extends TestCase {
     conf.setSpeculativeExecution(false);
     conf.setJobName("test");
     conf.setUser("testuser");
-    conf.setQueueName("testQueue");
+    conf.setQueueName("default");
     String TEST_ROOT_DIR = new Path(System.getProperty("test.build.data",
         "/tmp")).toString().replace(' ', '+');
     JobTracker jt = JobTracker.startTracker(conf);