[ https://issues.apache.org/jira/browse/HIVE-7225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14034400#comment-14034400 ]
Ted Yu commented on HIVE-7225: ------------------------------ Hive depends on BoneCP 0.8.0 I cloned BoneCP locally and looked at their code. {code} public class ConnectionHandle implements Connection,Serializable{ {code} In ConnectionHandle ctor, I see: {code} this.detectUnclosedStatements = pool.getConfig().isDetectUnclosedStatements(); this.closeOpenStatements = pool.getConfig().isCloseOpenStatements(); {code} In close() method: {code} if (this.closeOpenStatements){ for (Entry<Statement, String> statementEntry: this.trackedStatement.entrySet()){ statementEntry.getKey().close(); if (this.detectUnclosedStatements){ logger.warn(String.format(UNCLOSED_LOG_ERROR_MESSAGE, statementEntry.getValue())); } } this.trackedStatement.clear(); } {code} In Hive codebase, I don't see call that turns on closeOpenStatements. > Unclosed Statement's in TxnHandler > ---------------------------------- > > Key: HIVE-7225 > URL: https://issues.apache.org/jira/browse/HIVE-7225 > Project: Hive > Issue Type: Bug > Reporter: Ted Yu > Assignee: steve, Oh > Attachments: HIVE-7225.1.patch > > > There're several methods in TxnHandler where Statement (local to the method) > is not closed upon return. > Here're a few examples: > In compact(): > {code} > stmt.executeUpdate(s); > LOG.debug("Going to commit"); > dbConn.commit(); > {code} > In showCompact(): > {code} > Statement stmt = dbConn.createStatement(); > String s = "select cq_database, cq_table, cq_partition, cq_state, > cq_type, cq_worker_id, " + > "cq_start, cq_run_as from COMPACTION_QUEUE"; > LOG.debug("Going to execute query <" + s + ">"); > ResultSet rs = stmt.executeQuery(s); > {code} -- This message was sent by Atlassian JIRA (v6.2#6252)