diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolManager.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolManager.java index b70dbd8..78817de 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolManager.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolManager.java @@ -480,7 +480,7 @@ protected TezSessionPoolSession createSession(String sessionId) { */ private static boolean canWorkWithSameSession(TezSessionState session, HiveConf conf) throws HiveException { - if (session == null || conf == null) { + if (session == null || conf == null || !session.isOpen()) { return false; } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezTask.java index 740e41b..2f521e3 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezTask.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezTask.java @@ -137,6 +137,9 @@ public int execute(DriverContext driverContext) { // Need to remove this static hack. But this is the way currently to get a session. SessionState ss = SessionState.get(); session = ss.getTezSession(); + if (session != null && !session.isOpen()) { + LOG.warn("The session: " + session + " has not been opened yet"); + } session = TezSessionPoolManager.getInstance().getSession( session, conf, false, getWork().getLlapMode()); ss.setTezSession(session);