[
https://issues.apache.org/jira/browse/HIVE-25830?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
tenglei updated HIVE-25830:
---------------------------
Description:
when Hive::loadPartitionInternal is invoked and there's no metastore connection
in Hive.ThreadLocalHive, will create a metastore connection for
Hive.ThreadLocalHive, if external part hold the Hive.ThreadLocalHive for cache,
and Hive.ThreadLocalHive update in some special scene, this will cause external
part hold the different Hive object to Hive.ThreadLocalHive.
when external part want to create a metastore connection by invoking
Hive::loadPartitionInternal, Hive will create a metastore connection for
Hive.ThreadLocalHive, not for external part's holding.so these can cause a
connection leaks easliy.
I found it will cause a metastore connection leak in spark-beeline when invoke
Hive::loadPartitionInternal.
there's a commit HIVE-25075 relate before, I think it should remove the
Hive.get() in Hive::loadPartitionInternal at the same time.
was:
when Hive::loadPartitionInternal is invoked and there's no metastore connection
in Hive.ThreadLocalHive, will create a metastore connection for
Hive.ThreadLocalHive, if external part hold the Hive.ThreadLocalHive for cache,
and Hive.ThreadLocalHive update in some special scene, this will cause external
part hold the different Hive object to Hive.ThreadLocalHive.when external part
want to create a metastore connection by invoking Hive::loadPartitionInternal,
Hive will create a metastore connection for Hive.ThreadLocalHive, not for
external part's holding.so these can cause a connection leaks easliy.
I found it will cause a metastore connection leak in spark-beeline when invoke
Hive::loadPartitionInternal.
there's a commit HIVE-25075 relate before, I think it should remove the
Hive.get() in Hive::loadPartitionInternal at the same time.
> Hive::loadPartitionInternal occur connection leak
> -------------------------------------------------
>
> Key: HIVE-25830
> URL: https://issues.apache.org/jira/browse/HIVE-25830
> Project: Hive
> Issue Type: Bug
> Reporter: tenglei
> Priority: Major
>
> when Hive::loadPartitionInternal is invoked and there's no metastore
> connection in Hive.ThreadLocalHive, will create a metastore connection for
> Hive.ThreadLocalHive, if external part hold the Hive.ThreadLocalHive for
> cache, and Hive.ThreadLocalHive update in some special scene, this will cause
> external part hold the different Hive object to Hive.ThreadLocalHive.
> when external part want to create a metastore connection by invoking
> Hive::loadPartitionInternal, Hive will create a metastore connection for
> Hive.ThreadLocalHive, not for external part's holding.so these can cause a
> connection leaks easliy.
> I found it will cause a metastore connection leak in spark-beeline when
> invoke Hive::loadPartitionInternal.
> there's a commit HIVE-25075 relate before, I think it should remove the
> Hive.get() in Hive::loadPartitionInternal at the same time.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)