diff --git ql/src/java/org/apache/hadoop/hive/ql/ValidTxnManager.java ql/src/java/org/apache/hadoop/hive/ql/ValidTxnManager.java index 4885e437aa..152b47ad3a 100644 --- ql/src/java/org/apache/hadoop/hive/ql/ValidTxnManager.java +++ ql/src/java/org/apache/hadoop/hive/ql/ValidTxnManager.java @@ -76,11 +76,6 @@ boolean isValidTxnListState() throws LockException { return true; // Not a transactional op, nothing more to do } - String currentTxnString = driverContext.getTxnManager().getValidTxns().toString(); - if (currentTxnString.equals(txnString)) { - return true; // Still valid, nothing more to do - } - // 2) Get locks that are relevant: // - Exclusive for INSERT OVERWRITE. // - Semi-shared for UPDATE/DELETE. @@ -95,6 +90,11 @@ boolean isValidTxnListState() throws LockException { return true; // Nothing to check } + String currentTxnString = driverContext.getTxnManager().getValidTxns().toString(); + if (currentTxnString.equals(txnString)) { + return true; // Still valid, nothing more to do + } + return checkWriteIds(currentTxnString, nonSharedLockedTables, txnWriteIdListString); }