You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tez.apache.org by ss...@apache.org on 2016/03/18 01:40:57 UTC

tez git commit: TEZ-3166. Fix a few cases where counters aren't fully updated and sent for failed tasks. Only adds tests. Contributed by Zhiyuan Yang.

Repository: tez
Updated Branches:
  refs/heads/branch-0.7 d55cf45f2 -> 8feb430cb


TEZ-3166. Fix a few cases where counters aren't fully updated and sent for failed tasks. Only
adds tests. Contributed by Zhiyuan Yang.


Project: http://git-wip-us.apache.org/repos/asf/tez/repo
Commit: http://git-wip-us.apache.org/repos/asf/tez/commit/8feb430c
Tree: http://git-wip-us.apache.org/repos/asf/tez/tree/8feb430c
Diff: http://git-wip-us.apache.org/repos/asf/tez/diff/8feb430c

Branch: refs/heads/branch-0.7
Commit: 8feb430cb6cb81fd1ec47f3be2e080680faf7dc3
Parents: d55cf45
Author: Siddharth Seth <ss...@apache.org>
Authored: Thu Mar 17 17:40:22 2016 -0700
Committer: Siddharth Seth <ss...@apache.org>
Committed: Thu Mar 17 17:40:22 2016 -0700

----------------------------------------------------------------------
 CHANGES.txt                                     |  1 +
 .../tez/runtime/task/TestTaskExecution.java     | 22 ++++++++++++++++++++
 2 files changed, 23 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tez/blob/8feb430c/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 676d640..f894886 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -9,6 +9,7 @@ INCOMPATIBLE CHANGES
   TEZ-2972. Avoid task rescheduling when a node turns unhealthy
 
 ALL CHANGES:
+  TEZ-3166. Fix a few cases where counters aren't fully updated and sent for failed tasks. Only adds tests.
   TEZ-2958. Recovered TA, whose commit cannot be recovered, should move to killed state
   TEZ-3105. TezMxBeanResourceCalculator does not work on IBM JDK 7 or 8 causing Tez failures.
   TEZ-2863. Container, node, and logs not available in UI for tasks that fail to launch

http://git-wip-us.apache.org/repos/asf/tez/blob/8feb430c/tez-runtime-internals/src/test/java/org/apache/tez/runtime/task/TestTaskExecution.java
----------------------------------------------------------------------
diff --git a/tez-runtime-internals/src/test/java/org/apache/tez/runtime/task/TestTaskExecution.java b/tez-runtime-internals/src/test/java/org/apache/tez/runtime/task/TestTaskExecution.java
index a2988d9..2d23141 100644
--- a/tez-runtime-internals/src/test/java/org/apache/tez/runtime/task/TestTaskExecution.java
+++ b/tez-runtime-internals/src/test/java/org/apache/tez/runtime/task/TestTaskExecution.java
@@ -67,6 +67,7 @@ import org.apache.tez.runtime.api.LogicalOutput;
 import org.apache.tez.runtime.api.ProcessorContext;
 import org.apache.tez.runtime.api.events.TaskAttemptCompletedEvent;
 import org.apache.tez.runtime.api.events.TaskAttemptFailedEvent;
+import org.apache.tez.runtime.api.events.TaskStatusUpdateEvent;
 import org.apache.tez.runtime.api.impl.ExecutionContextImpl;
 import org.apache.tez.runtime.api.impl.InputSpec;
 import org.apache.tez.runtime.api.impl.OutputSpec;
@@ -218,6 +219,7 @@ public class TestTaskExecution {
 
       assertNull(taskReporter.currentCallable);
       umbilical.verifyTaskFailedEvent("Failure while running task:org.apache.tez.dag.api.TezException: TezException");
+      umbilical.verifyTaskFailedCounter();
     } finally {
       executor.shutdownNow();
     }
@@ -601,6 +603,26 @@ public class TestTaskExecution {
       }
     }
 
+    public void verifyTaskFailedCounter() {
+      umbilicalLock.lock();
+
+      boolean counterFound = false;
+      for (TezEvent event : requestEvents) {
+        if (event.getEvent() instanceof TaskStatusUpdateEvent) {
+          TaskStatusUpdateEvent statusUpdateEvent = (TaskStatusUpdateEvent)event.getEvent();
+          if (statusUpdateEvent.getCounters() != null) {
+            counterFound = true;
+            if (statusUpdateEvent.getCounters().countCounters() == 0) {
+              fail("Counters are not fully updated and sent for failed task");
+            }
+          }
+        }
+      }
+      assertTrue(counterFound);
+
+      umbilicalLock.unlock();
+    }
+
     public void verifyTaskFailedEvent(String diagnostics) {
       umbilicalLock.lock();
       try {