[ 
https://issues.apache.org/jira/browse/HIVE-26244?focusedWorklogId=777312&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-777312
 ]

ASF GitHub Bot logged work on HIVE-26244:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 02/Jun/22 07:15
            Start Date: 02/Jun/22 07:15
    Worklog Time Spent: 10m 
      Work Description: 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, 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.





Issue Time Tracking
-------------------

    Worklog Id:     (was: 777312)
    Time Spent: 2h 10m  (was: 2h)

> Implementing locking for concurrent ctas
> ----------------------------------------
>
>                 Key: HIVE-26244
>                 URL: https://issues.apache.org/jira/browse/HIVE-26244
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Simhadri G
>            Assignee: Simhadri G
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 2h 10m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to