You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by gu...@apache.org on 2014/06/19 00:37:36 UTC

svn commit: r1603659 - /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezJobMonitor.java

Author: gunther
Date: Wed Jun 18 22:37:35 2014
New Revision: 1603659

URL: http://svn.apache.org/r1603659
Log:
HIVE-7236: Tez progress monitor should indicate running/failed tasks (Gopal V via Gunther Hagleitner)

Modified:
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezJobMonitor.java

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezJobMonitor.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezJobMonitor.java?rev=1603659&r1=1603658&r2=1603659&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezJobMonitor.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezJobMonitor.java Wed Jun 18 22:37:35 2014
@@ -216,8 +216,10 @@ public class TezJobMonitor {
     SortedSet<String> keys = new TreeSet<String>(progressMap.keySet());
     for (String s: keys) {
       Progress progress = progressMap.get(s);
-      int complete = progress.getSucceededTaskCount();
-      int total = progress.getTotalTaskCount();
+      final int complete = progress.getSucceededTaskCount();
+      final int total = progress.getTotalTaskCount();
+      final int running = progress.getRunningTaskCount();
+      final int failed = progress.getFailedTaskCount();
       if (total <= 0) {
         reportBuffer.append(String.format("%s: -/-\t", s, complete, total));
       } else {
@@ -225,7 +227,22 @@ public class TezJobMonitor {
           completed.add(s);
           perfLogger.PerfLogEnd(CLASS_NAME, PerfLogger.TEZ_RUN_VERTEX + s);
         }
-        reportBuffer.append(String.format("%s: %d/%d\t", s, complete, total));
+        if(complete < total && (complete > 0 || running > 0 || failed > 0)) {
+          /* vertex is started, but not complete */
+          if (failed > 0) {
+            reportBuffer.append(String.format("%s: %d(+%d,-%d)/%d\t", s, complete, running, failed, total));
+          } else {
+            reportBuffer.append(String.format("%s: %d(+%d)/%d\t", s, complete, running, total));
+          }
+        } else {
+          /* vertex is waiting for input/slots or complete */
+          if (failed > 0) {
+            /* tasks finished but some failed */
+            reportBuffer.append(String.format("%s: %d(-%d)/%d\t", s, complete, failed, total));
+          } else {
+            reportBuffer.append(String.format("%s: %d/%d\t", s, complete, total));
+          }
+        }
       }
     }