diff --git a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java index faf6ec9..dab8a2d 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java @@ -913,6 +913,16 @@ private void releaseLocks(List hiveLocks) { } ctx.setHiveLocks(null); + if (hiveLockMgr != null) { + try { + ctx.setHiveLockMgr(null); + hiveLockMgr.close(); + } catch(LockException e) { + LOG.warn("Exception in closing hive lock manager. " + + org.apache.hadoop.util.StringUtils.stringifyException(e)); + } + } + perfLogger.PerfLogEnd(CLASS_NAME, PerfLogger.RELEASE_LOCKS); } @@ -1685,15 +1695,6 @@ public void destroy() { if (ctx != null) { releaseLocks(ctx.getHiveLocks()); } - - if (hiveLockMgr != null) { - try { - hiveLockMgr.close(); - } catch(LockException e) { - LOG.warn("Exception in closing hive lock manager. " - + org.apache.hadoop.util.StringUtils.stringifyException(e)); - } - } } public org.apache.hadoop.hive.ql.plan.api.Query getQueryPlan() throws IOException {