zju_zsx created HIVE-27534:
------------------------------
Summary: HMS may leak db connection when execute exchange
partitions
Key: HIVE-27534
URL: https://issues.apache.org/jira/browse/HIVE-27534
Project: Hive
Issue Type: Bug
Components: Metastore
Reporter: zju_zsx
In your production deployment, the Hive Thrift server is deployed. In the
{{HMSHandler.exchange_partitions}} method, it executes
{{RawStore.openTransaction}} and performs some checks. If these checks fail, an
exception is thrown without executing {{commitTransaction}} or
{{{}rollbackTransaction{}}}. This can result in a leakage of the underlying
database connection, as it is not returned to the thread pool. Consequently,
all threads may be blocked at the point of obtaining a connection from the
connection pool.
We should place all operations that come after RawStore.openTransaction inside
a try-finally block.
reproduce statement:
{code:java}
ALTER TABLE dev.yyy EXCHANGE PARTITION (par='') WITH TABLE ods.xxx; {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)