Bladeren bron

commit f58350bceee85e8e85476c081f6fa8a5e7bf9293
Author: Lee Tucker <ltucker@yahoo-inc.com>
Date: Thu Jul 30 17:40:47 2009 -0700

Applying patch 2876967.mr733.patch


git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20-security-patches@1076959 13f79535-47bb-0310-9956-ffa450edef68

Owen O'Malley 14 jaren geleden
bovenliggende
commit
edd84c891e
1 gewijzigde bestanden met toevoegingen van 15 en 3 verwijderingen
  1. 15 3
      src/mapred/org/apache/hadoop/mapred/JobInProgress.java

+ 15 - 3
src/mapred/org/apache/hadoop/mapred/JobInProgress.java

@@ -1462,7 +1462,8 @@ class JobInProgress {
    * 
    * @param taskTracker task-tracker on which a task failed
    */
-  void addTrackerTaskFailure(String trackerName, TaskTracker taskTracker) {
+  synchronized void addTrackerTaskFailure(String trackerName, 
+                                          TaskTracker taskTracker) {
     if (flakyTaskTrackers < (clusterSize * CLUSTER_BLACKLIST_PERCENT)) { 
       String trackerHostName = convertTrackerNameToHostName(trackerName);
 
@@ -1478,8 +1479,12 @@ class JobInProgress {
         
         // Cancel reservations if appropriate
         if (taskTracker != null) {
-          taskTracker.unreserveSlots(TaskType.MAP, this);
-          taskTracker.unreserveSlots(TaskType.REDUCE, this);
+          if (trackersReservedForMaps.containsKey(taskTracker)) {
+            taskTracker.unreserveSlots(TaskType.MAP, this);
+          }
+          if (trackersReservedForReduces.containsKey(taskTracker)) {
+            taskTracker.unreserveSlots(TaskType.REDUCE, this);
+          }
         }
         LOG.info("TaskTracker at '" + trackerHostName + "' turned 'flaky'");
       }
@@ -2841,4 +2846,11 @@ class JobInProgress {
       return Values.REDUCE.name();
     }
   }
+  
+  /**
+   * Test method to set the cluster sizes
+   */
+  void setClusterSize(int clusterSize) {
+    this.clusterSize = clusterSize;
+  }
 }