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)