[ https://issues.apache.org/jira/browse/HIVE-23052?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marton Bod updated HIVE-23052: ------------------------------ Attachment: HIVE-23052.2.patch > Optimize lock enqueueing in TxnHandler > -------------------------------------- > > Key: HIVE-23052 > URL: https://issues.apache.org/jira/browse/HIVE-23052 > Project: Hive > Issue Type: Improvement > Reporter: Marton Bod > Assignee: Marton Bod > Priority: Major > Attachments: HIVE-23052.1.patch, HIVE-23052.2.patch > > > TxnHandler::enqueueLockWithRetry uses select for update (S4U) to retrieve the > next lock id from the metastore. This locks the NEXT_LOCK_ID table for > concurrent lock requests until the transaction has been committed. > Since this creates contention, we should reduce the scope of this S4U, > thereby locking the table for only as long as necessary. Currently, within > the same txn, after the initial S4U, we also insert the transaction > components (TXN_COMPONENTS table) before committing, even though they are > independent and do not make use of the lock id. So moving these txn_component > inserts before the S4U would decrease the time the next_lock_id table is > locked and thus increase concurrency. > -- This message was sent by Atlassian Jira (v8.3.4#803005)