Chris Drome created HIVE-13754:
----------------------------------
Summary: Fix resource leak in HiveClientCache
Key: HIVE-13754
URL: https://issues.apache.org/jira/browse/HIVE-13754
Project: Hive
Issue Type: Bug
Components: Clients
Affects Versions: 2.0.0, 1.2.1
Reporter: Chris Drome
Assignee: Chris Drome
Found that the {{users}} reference count can go into negative values, which
prevents {{tearDownIfUnused}} from closing the client connection when called.
This leads to a build up of clients which have been evicted from the cache, are
no longer in use, but have not been shutdown.
GC will eventually call {{finalize}}, which forcibly closes the connection and
cleans up the client, but I have seen as many as several hundred open client
connections as a result.
The main resource for this is caused by RetryingMetaStoreClient, which will
call {{reconnect}} on acquire, which calls {{close}}. This will decrement
{{users}} to -1 on the reconnect, then acquire will increase this to 0 while
using it, and back to -1 when it releases it.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)