deniskuzZ commented on code in PR #3307:
URL: https://github.com/apache/hive/pull/3307#discussion_r887639411
##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java:
##########
@@ -5283,6 +5284,39 @@ is performed on that db (e.g. show tables, created
table, etc).
return response;
}
}
+
+ if (isValidTxn(txnId)) {
+ LockType lockType = LockTypeUtil.getLockTypeFromEncoding(lockChar)
+ .orElseThrow(() -> new MetaException("Unknown lock type: " +
lockChar));
+
+ if (lockType == LockType.EXCL_WRITE && blockedBy.state ==
LockState.ACQUIRED) {
Review Comment:
I don't really like that we are adding extra overhead in checkLocks method,
it's already a sensitive part performance-wise. I think we should try to
optimize: if it's CTAS we know that it could only be blocked by another
artificial CTAS or DROP database (EXCLUSIVE + EXCL_WRITE), so no need to run
expensive checkLock `BIG` query.
Also, I would expect IOW to behave similarly to CTAS, currently it doesn't
fail and is executed in sequential order.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]