[ 
https://issues.apache.org/jira/browse/HIVE-28545?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhihua Deng resolved HIVE-28545.
--------------------------------
    Fix Version/s: 4.1.0
       Resolution: Fixed

Thank you for the review [~dkuzmenko]!

> Remove global lock on HMSHandler.getMSForConf which is prone to deadlock
> ------------------------------------------------------------------------
>
>                 Key: HIVE-28545
>                 URL: https://issues.apache.org/jira/browse/HIVE-28545
>             Project: Hive
>          Issue Type: Bug
>      Security Level: Public(Viewable by anyone) 
>          Components: Standalone Metastore
>            Reporter: Zhihua Deng
>            Assignee: Zhihua Deng
>            Priority: Major
>             Fix For: 4.1.0
>
>
> We add the global lock on HMSHandler.getMSForConf by HIVE-27117, which is aim 
> to address the flaky test: 
> TestCompactionMetrics.testInitiatorFailuresCountedCorrectly, however this 
> global lock could contribute to another deadlock problem. Imaging this, if 
> there is no idle connection in the connection pool, HMSHandler needs getMS to 
> commit or. rollback the transaction, a new client chimes in and takes over 
> this global lock to initialize the ObjectStore, the initialization will be 
> pending as there is no available connection, which prevents others to get the 
> global lock to free the occupied connection, I wrote a test to demonstrate 
> this case.
> This global lock could result to performance penalty which can block other 
> clients in concurrent workloads. In worst cases, it can make other clients 
> read timeout.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to