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));
+ }
+ }
}
}