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

Reply via email to