You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by cn...@apache.org on 2013/07/20 08:08:15 UTC

svn commit: r1505096 - in /hadoop/common/branches/branch-1-win: CHANGES.txt src/core/org/apache/hadoop/util/ProcessTree.java src/mapred/org/apache/hadoop/mapred/JvmManager.java src/mapred/org/apache/hadoop/mapred/TaskTracker.java

Author: cnauroth
Date: Sat Jul 20 06:08:15 2013
New Revision: 1505096

URL: http://svn.apache.org/r1505096
Log:
MAPREDUCE-5406. Merging change r1505094 from branch-1 to branch-1-win.

Modified:
    hadoop/common/branches/branch-1-win/CHANGES.txt
    hadoop/common/branches/branch-1-win/src/core/org/apache/hadoop/util/ProcessTree.java
    hadoop/common/branches/branch-1-win/src/mapred/org/apache/hadoop/mapred/JvmManager.java
    hadoop/common/branches/branch-1-win/src/mapred/org/apache/hadoop/mapred/TaskTracker.java

Modified: hadoop/common/branches/branch-1-win/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-1-win/CHANGES.txt?rev=1505096&r1=1505095&r2=1505096&view=diff
==============================================================================
--- hadoop/common/branches/branch-1-win/CHANGES.txt (original)
+++ hadoop/common/branches/branch-1-win/CHANGES.txt Sat Jul 20 06:08:15 2013
@@ -18,6 +18,9 @@ Release 1.3.0 - unreleased
     support an arbitrary filesystem URI. (Tom White, backported by
     Chelsey Chang via ivanmi)
 
+    MAPREDUCE-5406. Improve logging around Task Tracker exiting with JVM manager
+    inconsistent state. (Chelsey Chang via cnauroth)
+
   BUG FIXES
 
     MAPREDUCE-5047. keep.failed.task.files=true causes job failure on 

Modified: hadoop/common/branches/branch-1-win/src/core/org/apache/hadoop/util/ProcessTree.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-1-win/src/core/org/apache/hadoop/util/ProcessTree.java?rev=1505096&r1=1505095&r2=1505096&view=diff
==============================================================================
--- hadoop/common/branches/branch-1-win/src/core/org/apache/hadoop/util/ProcessTree.java (original)
+++ hadoop/common/branches/branch-1-win/src/core/org/apache/hadoop/util/ProcessTree.java Sat Jul 20 06:08:15 2013
@@ -188,7 +188,7 @@ public class ProcessTree {
                pgrpId + " ."+ 
           StringUtils.stringifyException(e));
     } finally {
-      LOG.info("Killing process group" + pgrpId + " with signal " + signal + 
+      LOG.info("Killing process group " + pgrpId + " with signal " + signal + 
                ". Exit code " + shexec.getExitCode());
     }
   }

Modified: hadoop/common/branches/branch-1-win/src/mapred/org/apache/hadoop/mapred/JvmManager.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-1-win/src/mapred/org/apache/hadoop/mapred/JvmManager.java?rev=1505096&r1=1505095&r2=1505096&view=diff
==============================================================================
--- hadoop/common/branches/branch-1-win/src/mapred/org/apache/hadoop/mapred/JvmManager.java (original)
+++ hadoop/common/branches/branch-1-win/src/mapred/org/apache/hadoop/mapred/JvmManager.java Sat Jul 20 06:08:15 2013
@@ -279,6 +279,8 @@ class JvmManager {
 
     synchronized public void taskFinished(TaskRunner tr) {
       JVMId jvmId = runningTaskToJvm.remove(tr);
+      LOG.info("Task " + tr.getTask().getTaskID()
+          + " finished. Mark JVM Idle: " + jvmId);
       if (jvmId != null) {
         jvmToRunningTask.remove(jvmId);
         JvmRunner jvmRunner;
@@ -292,6 +294,8 @@ class JvmManager {
                                         ) throws IOException,
                                                  InterruptedException {
       JVMId jvmId = runningTaskToJvm.remove(tr);
+      LOG.info("Task " + tr.getTask().getTaskID() + " killed. Kill JVM: "
+          + jvmId);
       if (jvmId != null) {
         jvmToRunningTask.remove(jvmId);
         killJvm(jvmId);
@@ -347,6 +351,7 @@ class JvmManager {
       // (3) kill an idle JVM (from a different job) 
       // (the order of return is in the order above)
       int numJvmsSpawned = jvmIdToRunner.size();
+      LOG.info("Reaping JVM. Number of active JVMs = " + numJvmsSpawned);
       JvmRunner runnerToKill = null;
       if (numJvmsSpawned >= maxJvms) {
         //go through the list of JVMs for all jobs.
@@ -385,7 +390,7 @@ class JvmManager {
 
       if (spawnNewJvm) {
         if (runnerToKill != null) {
-          LOG.info("Killing JVM: " + runnerToKill.jvmId);
+          LOG.info("Killing JVM: " + runnerToKill.jvmId + " to spawn a new one");
           killJvmRunner(runnerToKill);
         }
         spawnNewJvm(jobId, env, t);

Modified: hadoop/common/branches/branch-1-win/src/mapred/org/apache/hadoop/mapred/TaskTracker.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-1-win/src/mapred/org/apache/hadoop/mapred/TaskTracker.java?rev=1505096&r1=1505095&r2=1505096&view=diff
==============================================================================
--- hadoop/common/branches/branch-1-win/src/mapred/org/apache/hadoop/mapred/TaskTracker.java (original)
+++ hadoop/common/branches/branch-1-win/src/mapred/org/apache/hadoop/mapred/TaskTracker.java Sat Jul 20 06:08:15 2013
@@ -2561,7 +2561,8 @@ public class TaskTracker implements MRCo
             if (!tip.canBeLaunched()) {
               //got killed externally while still in the launcher queue
               LOG.info("Not launching task " + task.getTaskID() + " as it got"
-                + " killed externally. Task's state is " + tip.getRunState());
+                  + " killed externally. Task's state is " + tip.getRunState()
+                  + ". Add " + task.getNumSlotsRequired() + " slots.");
               addFreeSlots(task.getNumSlotsRequired());
               continue;
             }
@@ -3340,6 +3341,8 @@ public class TaskTracker implements MRCo
     private synchronized void releaseSlot() {
       if (slotTaken) {
         if (launcher != null) {
+          LOG.info("Releasing " + task.getNumSlotsRequired() + " slots from"
+              + " task " + task.getTaskID());
           launcher.addFreeSlots(task.getNumSlotsRequired());
         }
         slotTaken = false;