浏览代码

commit 3a653bd9d9e12e346df9edac8624a15b714837c9
Author: Krishna Ramachandran <ramach@yahoo-inc.com>
Date: Fri Feb 4 12:40:12 2011 -0800

Fix Ticket 3437531 TaskDiagnosticInfo may be missed sometime

+++ b/YAHOO-CHANGES.txt
+ TaskDiagnosticInfo may be missed sometime. (ramach)
+


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

Owen O'Malley 14 年之前
父节点
当前提交
007c6b229d
共有 1 个文件被更改,包括 11 次插入1 次删除
  1. 11 1
      src/mapred/org/apache/hadoop/mapred/TaskMemoryManagerThread.java

+ 11 - 1
src/mapred/org/apache/hadoop/mapred/TaskMemoryManagerThread.java

@@ -223,6 +223,11 @@ class TaskMemoryManagerThread extends Thread {
                     + tid + " : \n" + pTree.getProcessTreeDump();
             LOG.warn(msg);
             // kill the task
+            TaskInProgress tip = taskTracker.runningTasks.get(tid);
+            if (tip != null) {
+              String[] diag = msg.split("\n");
+              tip.getStatus().setDiagnosticInfo(diag[0]);
+            }
             taskTracker.cleanUpOverMemoryTask(tid, true, msg);
 
             it.remove();
@@ -351,8 +356,13 @@ class TaskMemoryManagerThread extends Thread {
         String msg =
             "Killing one of the least progress tasks - " + tid
                 + ", as the cumulative memory usage of all the tasks on "
-                + "the TaskTracker exceeds virtual memory limit "
+                + "the TaskTracker " + taskTracker.localHostname 
+                + " exceeds virtual memory limit "
                 + maxMemoryAllowedForAllTasks + ".";
+        TaskInProgress tip = taskTracker.runningTasks.get(tid);
+        if (tip != null) {
+           tip.getStatus().setDiagnosticInfo(msg);
+        }
         LOG.warn(msg);
         // Kill the task and mark it as killed.
         taskTracker.cleanUpOverMemoryTask(tid, false, msg);