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 dbef527a95..fdba1fe9a3 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java @@ -1110,7 +1110,10 @@ public void destroy() { } finally { driverState.unlock(); } - if (!hiveLocks.isEmpty()) { + boolean isTxnOpen = driverContext != null + && driverContext.getTxnManager() != null + && driverContext.getTxnManager().isTxnOpen(); + if (!hiveLocks.isEmpty() || isTxnOpen) { try { releaseLocksAndCommitOrRollback(false); } catch (LockException e) {