You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Xiaomin Zhang (JIRA)" <ji...@apache.org> on 2017/01/06 09:47:58 UTC
[jira] [Commented] (HIVE-15551) memory leak in directsql for mysql
specific initialization
[ https://issues.apache.org/jira/browse/HIVE-15551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15804141#comment-15804141 ]
Xiaomin Zhang commented on HIVE-15551:
--------------------------------------
Use DBCP for the connection pool can workaround this issue:
datanucleus.connectionPoolingType=dbcp
> memory leak in directsql for mysql specific initialization
> ----------------------------------------------------------
>
> Key: HIVE-15551
> URL: https://issues.apache.org/jira/browse/HIVE-15551
> Project: Hive
> Issue Type: Bug
> Components: Metastore
> Affects Versions: 0.13.0
> Reporter: Xiaomin Zhang
>
> We observed HMS memory leak when directsql is enabled for MySQL metastore DB.
> The affected code is in the method MetaStoreDirecdtSql.executeNoResult():
> ((Connection)jdoConn.getNativeConnection()).createStatement().execute(queryText);
> The statement object (from createStatement()) is unfortunately referenced in the Connection object. Although close() is called on the Connection object in finally block, the BoneCP just moves it to a freeConnection list. Hence, statement object never get chances to be closed.
> The leaked statement object is not huge (~1KB as observed in memory analyzer). However long running Hive Metastore Server is very likely ended up with bad performance doing frequent garbage collection.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)