MAPREDUCE-2490. Add logging to graylist and blacklist activity to aid
diagnosis of related issues. Contributed by Jonathan Eagles


git-svn-id: https://svn.apache.org/repos/asf/hadoop/mapreduce/trunk@1125588 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/CHANGES.txt b/CHANGES.txt
index c5a1ddc..1426393 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -220,6 +220,9 @@
     MAPREDUCE-2514. Fix typo in TaskTracker ReinitTrackerAction log message.
     (Jonathan Eagles via cdouglas)
 
+    MAPREDUCE-2490. Add logging to graylist and blacklist activity to aid
+    diagnosis of related issues. (Jonathan Eagles via cdouglas)
+
 Release 0.22.0 - Unreleased
 
   INCOMPATIBLE CHANGES
diff --git a/src/java/org/apache/hadoop/mapred/JobTracker.java b/src/java/org/apache/hadoop/mapred/JobTracker.java
index 4ac1c58..bd93e69 100644
--- a/src/java/org/apache/hadoop/mapred/JobTracker.java
+++ b/src/java/org/apache/hadoop/mapred/JobTracker.java
@@ -513,9 +513,11 @@
   private void removeTracker(TaskTracker tracker) {
     lostTaskTracker(tracker);
     String trackerName = tracker.getStatus().getTrackerName();
+    String hostName = JobInProgress.convertTrackerNameToHostName(trackerName);
     // tracker is lost, and if it is blacklisted, remove 
     // it from the count of blacklisted trackers in the cluster
     if (isBlacklisted(trackerName)) {
+      LOG.info("Removing " + hostName + " from blacklist");
       faultyTrackers.decrBlackListedTrackers(1);
     }
     updateTaskTrackerStatus(trackerName, null);
@@ -723,11 +725,13 @@
     }
 
     private void incrBlackListedTrackers(int count) {
+      LOG.info("Incrementing blacklisted trackers by " + count);
       numBlacklistedTrackers += count;
       getInstrumentation().addBlackListedTrackers(count);
     }
 
     private void decrBlackListedTrackers(int count) {
+      LOG.info("Decrementing blacklisted trackers by " + count);
       numBlacklistedTrackers -= count;
       getInstrumentation().decBlackListedTrackers(count);
     }
@@ -780,8 +784,8 @@
       FaultInfo fi = getFaultInfo(hostName, false);
       if (fi.removeBlackListedReason(rfb)) {
         if (fi.getReasonforblacklisting().isEmpty()) {
-          addHostCapacity(hostName);
           LOG.info("Unblacklisting tracker : " + hostName);
+          addHostCapacity(hostName);
           fi.unBlacklist();
           //We have unBlackListed tracker, so tracker should
           //definitely be healthy. Check fault count if fault count
@@ -849,7 +853,7 @@
       synchronized (potentiallyFaultyTrackers) {
         FaultInfo fi = potentiallyFaultyTrackers.remove(hostName);
         if (fi != null && fi.isBlacklisted()) {
-          LOG.info("Removing " + hostName + " from blacklist");
+          LOG.info("Marking " + hostName + " healthy from blacklist");
           addHostCapacity(hostName);
         }
       }