Browse Source

Merge -r 712614:712615 from trunk to branch-0.19 to fix HADOOP-4446.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/core/branches/branch-0.19@712616 13f79535-47bb-0310-9956-ffa450edef68
Hemanth Yamijala 16 years ago
parent
commit
a8e7675d03

+ 4 - 0
CHANGES.txt

@@ -964,6 +964,10 @@ Release 0.19.0 - Unreleased
     HADOOP-4498. Ensure that JobHistory correctly escapes the job name so that
     regex patterns work. (Chris Wensel via acmurthy)
 
+    HADOOP-4446. Modify guaranteed capacity labels in capacity scheduler's UI
+    to reflect the information being displayed. (Sreekanth Ramakrishnan via 
+    yhemanth)
+
 Release 0.18.3 - Unreleased
 
   BUG FIXES

+ 4 - 9
src/contrib/capacity-scheduler/src/java/org/apache/hadoop/mapred/CapacityTaskScheduler.java

@@ -33,7 +33,6 @@ import java.util.Set;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.mapred.JobStatusChangeEvent.EventType;
 import org.apache.hadoop.mapred.JobTracker.IllegalStateException;
 import org.apache.hadoop.util.StringUtils;
 
@@ -206,17 +205,13 @@ class CapacityTaskScheduler extends TaskScheduler {
     
     @Override
     public String toString(){
-      String queue = mqsi.queueName;
       StringBuffer sb = new StringBuffer();
-      sb.append("Guaranteed Capacity Maps (%) :");
+      sb.append("Guaranteed Capacity (%) : ");
       sb.append(mqsi.guaranteedCapacityPercent);
-      sb.append("\n");
-      sb.append("Guaranteed Capacity Reduces (%) :");
-      sb.append(rqsi.guaranteedCapacityPercent);
-      sb.append("\n");
-      sb.append(String.format("Current Capacity Maps : %d \n",
+      sb.append(" \n");
+      sb.append(String.format("Guaranteed Capacity Maps : %d \n",
           mqsi.guaranteedCapacity));
-      sb.append(String.format("Current Capacity Reduces : %d \n",
+      sb.append(String.format("Guaranteed Capacity Reduces : %d \n",
           rqsi.guaranteedCapacity));
       sb.append(String.format("User Limit : %d \n",mqsi.ulMin));
       sb.append(String.format("Reclaim Time limit : %d \n",mqsi.reclaimTime));

+ 33 - 1
src/contrib/capacity-scheduler/src/test/org/apache/hadoop/mapred/TestCapacityScheduler.java

@@ -758,7 +758,7 @@ public class TestCapacityScheduler extends TestCase {
                                           String queue) throws IOException {
     String schedInfo = taskTrackerManager.getQueueManager().
                           getSchedulerInfo(queue).toString();
-    assertTrue(schedInfo.contains("Current Capacity Maps : " 
+    assertTrue(schedInfo.contains("Guaranteed Capacity Maps : " 
                                     + expectedCapacity));
   }
   
@@ -1091,6 +1091,38 @@ public class TestCapacityScheduler extends TestCase {
     assertEquals(j1.runningMapTasks, 2);
     
   }
+  
+  public void testSchedulingInformation() throws IOException {
+    String[] qs = {"default", "q2"};
+    taskTrackerManager.addQueues(qs);
+    resConf = new FakeResourceManagerConf();
+    ArrayList<FakeQueueInfo> queues = new ArrayList<FakeQueueInfo>();
+    queues.add(new FakeQueueInfo("default", 50.0f, 1000000, true, 25));
+    queues.add(new FakeQueueInfo("q2", 50.0f, 1000000, true, 25));
+    resConf.setFakeQueues(queues);
+    scheduler.setResourceManagerConf(resConf);
+    scheduler.start();
+    scheduler.assignTasks(tracker("tt1")); // heartbeat
+    scheduler.assignTasks(tracker("tt2")); // heartbeat
+    int totalMaps = taskTrackerManager.getClusterStatus().getMaxMapTasks();
+    int totalReduces = taskTrackerManager.getClusterStatus().getMaxReduceTasks();
+    QueueManager queueManager = scheduler.taskTrackerManager.getQueueManager();
+    String schedulingInfo = queueManager.getJobQueueInfo("default").getSchedulingInfo();
+    String schedulingInfo2 = queueManager.getJobQueueInfo("q2").getSchedulingInfo();
+    String[] infoStrings = schedulingInfo.split("\n");
+    assertEquals(infoStrings.length, 10);
+    assertEquals(infoStrings[0] , "Guaranteed Capacity (%) : 50.0 ");
+    assertEquals(infoStrings[1] , "Guaranteed Capacity Maps : " + totalMaps * 50/100 + " ");
+    assertEquals(infoStrings[2] , "Guaranteed Capacity Reduces : " + totalReduces * 50/100 + " ");
+    assertEquals(infoStrings[3] , "User Limit : 25 ");
+    assertEquals(infoStrings[4] , "Reclaim Time limit : 1000000 " );
+    assertEquals(infoStrings[5] , "Number of Running Maps : 0 ");
+    assertEquals(infoStrings[6] , "Number of Running Reduces : 0 ");
+    assertEquals(infoStrings[7] , "Number of Waiting Maps : 0 ");
+    assertEquals(infoStrings[8] , "Number of Waiting Reduces : 0 ");
+    assertEquals(infoStrings[9] , "Priority Supported : YES ");
+    assertEquals(schedulingInfo, schedulingInfo2);   
+  }
 
   protected TaskTrackerStatus tracker(String taskTrackerName) {
     return taskTrackerManager.getTaskTracker(taskTrackerName);