Author: gunther Date: Sat Nov 8 22:23:26 2014 New Revision: 1637600 URL: http://svn.apache.org/r1637600 Log: HIVE-8794: Hive on Tez leaks AMs when killed before first dag is run (Gunther Hagleitner, reviewed by Gopal V)
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezJobMonitor.java hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.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=1637600&r1=1637599&r2=1637600&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 Sat Nov 8 22:23:26 2014 @@ -45,6 +45,8 @@ import org.apache.tez.dag.api.client.Sta import org.apache.tez.dag.api.client.VertexStatus; import org.fusesource.jansi.Ansi; +import com.google.common.base.Preconditions; + import java.io.IOException; import java.io.PrintStream; import java.text.DecimalFormat; @@ -132,6 +134,11 @@ public class TezJobMonitor { }); } + public static void initShutdownHook() { + Preconditions.checkNotNull(shutdownList, + "Shutdown hook was not properly initialized"); + } + public TezJobMonitor() { console = SessionState.getConsole(); secondsFormat = new DecimalFormat("#0.00"); Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java?rev=1637600&r1=1637599&r2=1637600&view=diff ============================================================================== --- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java (original) +++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java Sat Nov 8 22:23:26 2014 @@ -187,6 +187,7 @@ public class TezSessionState { LOG.info("Opening new Tez Session (id: " + sessionId + ", scratch dir: " + tezScratchDir + ")"); + TezJobMonitor.initShutdownHook(); session.start(); if (HiveConf.getBoolVar(conf, ConfVars.HIVE_PREWARM_ENABLED)) {