diff --git ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java index a2aeb63..3e69f01 100644 --- ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java +++ ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java @@ -831,9 +831,13 @@ public void close() throws IOException { } try { - tezSessionState.close(false); + if (tezSessionState != null) { + tezSessionState.close(false); + } } catch (Exception e) { LOG.info("Error closing tez session", e); + } finally { + tezSessionState = null; } } diff --git ql/src/test/org/apache/hadoop/hive/ql/session/TestSessionState.java ql/src/test/org/apache/hadoop/hive/ql/session/TestSessionState.java index a808a6c..d4e737f 100644 --- ql/src/test/org/apache/hadoop/hive/ql/session/TestSessionState.java +++ ql/src/test/org/apache/hadoop/hive/ql/session/TestSessionState.java @@ -18,6 +18,7 @@ package org.apache.hadoop.hive.ql.session; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; import org.apache.hadoop.hive.conf.HiveConf; import org.apache.hadoop.hive.metastore.MetaStoreUtils; @@ -57,5 +58,11 @@ public void testgetDbName() throws Exception { } - + @Test + public void testClose() throws Exception { + SessionState ss = SessionState.get(); + assertNull(ss.getTezSession()); + ss.close(); + assertNull(ss.getTezSession()); + } }