[ 
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)

Reply via email to