You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tez.apache.org by jl...@apache.org on 2016/05/17 19:59:32 UTC
tez git commit: TEZ-3246. Improve diagnostics when DAG killed by user
(Eric Badger via jlowe)
Repository: tez
Updated Branches:
refs/heads/master d22389cc2 -> b63d7faf5
TEZ-3246. Improve diagnostics when DAG killed by user (Eric Badger via jlowe)
Project: http://git-wip-us.apache.org/repos/asf/tez/repo
Commit: http://git-wip-us.apache.org/repos/asf/tez/commit/b63d7faf
Tree: http://git-wip-us.apache.org/repos/asf/tez/tree/b63d7faf
Diff: http://git-wip-us.apache.org/repos/asf/tez/diff/b63d7faf
Branch: refs/heads/master
Commit: b63d7faf5f9ef892b582f62d000fafd80e8a3b5b
Parents: d22389c
Author: Jason Lowe <jl...@apache.org>
Authored: Tue May 17 19:58:38 2016 +0000
Committer: Jason Lowe <jl...@apache.org>
Committed: Tue May 17 19:58:38 2016 +0000
----------------------------------------------------------------------
CHANGES.txt | 2 ++
.../tez/dag/api/client/DAGClientHandler.java | 29 +++++++++++++++++---
.../dag/api/client/TestDAGClientHandler.java | 5 ++--
3 files changed, 30 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tez/blob/b63d7faf/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index e20940f..434412b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -7,6 +7,7 @@ INCOMPATIBLE CHANGES
ALL CHANGES:
+ TEZ-3246. Improve diagnostics when DAG killed by user
TEZ-3258. Jvm Checker does not ignore DisableExplicitGC when checking JVM GC options.
TEZ-3256. [Backport HADOOP-11032] Remove Guava Stopwatch dependency
TEZ-2342. Reduce bytearray copy with TezEvent Serialization and deserialization
@@ -40,6 +41,7 @@ INCOMPATIBLE CHANGES
ALL CHANGES:
+ TEZ-3246. Improve diagnostics when DAG killed by user
TEZ-3258. Jvm Checker does not ignore DisableExplicitGC when checking JVM GC options.
TEZ-3256. [Backport HADOOP-11032] Remove Guava Stopwatch dependency
TEZ-2342. Reduce bytearray copy with TezEvent Serialization and deserialization
http://git-wip-us.apache.org/repos/asf/tez/blob/b63d7faf/tez-dag/src/main/java/org/apache/tez/dag/api/client/DAGClientHandler.java
----------------------------------------------------------------------
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/api/client/DAGClientHandler.java b/tez-dag/src/main/java/org/apache/tez/dag/api/client/DAGClientHandler.java
index 79b9acd..0f51eff 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/api/client/DAGClientHandler.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/api/client/DAGClientHandler.java
@@ -18,6 +18,7 @@
package org.apache.tez.dag.api.client;
+import java.io.IOException;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -25,6 +26,8 @@ import java.util.Set;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.apache.hadoop.ipc.Server;
+import org.apache.hadoop.security.UserGroupInformation;
import org.apache.hadoop.yarn.api.records.LocalResource;
import org.apache.tez.client.TezAppMasterStatus;
import org.apache.tez.dag.api.DAGNotRunningException;
@@ -109,10 +112,27 @@ public class DAGClientHandler {
return currentDAG;
}
+ private String getClientInfo() throws TezException {
+ UserGroupInformation callerUGI;
+ try {
+ callerUGI = UserGroupInformation.getCurrentUser();
+ } catch (IOException ie) {
+ LOG.info("Error getting UGI ", ie);
+ throw new TezException(ie);
+ }
+ String message = callerUGI.toString();
+ if(null != Server.getRemoteAddress()) {
+ message += " at " + Server.getRemoteAddress();
+ }
+ return message;
+ }
+
public void tryKillDAG(String dagIdStr) throws TezException {
DAG dag = getDAG(dagIdStr);
- LOG.info("Sending client kill to dag: " + dagIdStr);
- dagAppMaster.tryKillDAG(dag, "Kill Dag request received from client");
+ String message = "Sending client kill from " + getClientInfo() +
+ " to dag " + dagIdStr;
+ LOG.info(message);
+ dagAppMaster.tryKillDAG(dag, message);
}
public synchronized String submitDAG(DAGPlan dagPlan,
@@ -122,9 +142,10 @@ public class DAGClientHandler {
// Only to be invoked by the DAGClient.
public synchronized void shutdownAM() throws TezException {
- LOG.info("Received message to shutdown AM");
+ String message = "Received message to shutdown AM from " + getClientInfo();
+ LOG.info(message);
if (dagAppMaster != null) {
- dagAppMaster.shutdownTezAM("AM Shutdown request received from client");
+ dagAppMaster.shutdownTezAM(message);
}
}
http://git-wip-us.apache.org/repos/asf/tez/blob/b63d7faf/tez-dag/src/test/java/org/apache/tez/dag/api/client/TestDAGClientHandler.java
----------------------------------------------------------------------
diff --git a/tez-dag/src/test/java/org/apache/tez/dag/api/client/TestDAGClientHandler.java b/tez-dag/src/test/java/org/apache/tez/dag/api/client/TestDAGClientHandler.java
index 23a5191..8a8b776 100644
--- a/tez-dag/src/test/java/org/apache/tez/dag/api/client/TestDAGClientHandler.java
+++ b/tez-dag/src/test/java/org/apache/tez/dag/api/client/TestDAGClientHandler.java
@@ -112,7 +112,8 @@ public class TestDAGClientHandler {
}
dagClientHandler.tryKillDAG("dag_9999_0001_1");
ArgumentCaptor<DAG> eventCaptor = ArgumentCaptor.forClass(DAG.class);
- verify(mockDagAM, times(1)).tryKillDAG(eventCaptor.capture(), eq("Kill Dag request received from client"));
+ verify(mockDagAM, times(1)).tryKillDAG(eventCaptor.capture(),
+ contains("Sending client kill from"));
assertEquals(1, eventCaptor.getAllValues().size());
assertTrue(eventCaptor.getAllValues().get(0) instanceof DAG);
assertEquals("dag_9999_0001_1", ((DAG)eventCaptor.getAllValues().get(0)).getID().toString());
@@ -125,7 +126,7 @@ public class TestDAGClientHandler {
// shutdown
dagClientHandler.shutdownAM();
- verify(mockDagAM).shutdownTezAM(eq("AM Shutdown request received from client"));
+ verify(mockDagAM).shutdownTezAM(contains("Received message to shutdown AM from"));
}
}