[ 
https://issues.apache.org/jira/browse/CASSANDRA-3244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13117484#comment-13117484
 ] 

Patricio Echague commented on CASSANDRA-3244:
---------------------------------------------

Rick, thanks for the patch.

I think think it will lead to a leak. The statement cache needs to be handled 
by the pool instead of by the driver itself.

Pools like BoneCP do not close the connection.

Also DBCP doesn't either. See: 

http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/PoolableConnection.java?view=markup
 

Thoughts?
                
> JDBC CassandraConnection may lead to memory leak when used in a pool
> --------------------------------------------------------------------
>
>                 Key: CASSANDRA-3244
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3244
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Drivers
>    Affects Versions: 1.0.0
>            Reporter: Patricio Echague
>            Assignee: Rick Shaw
>            Priority: Minor
>              Labels: JDBC
>             Fix For: 0.8.7
>
>         Attachments: 3244-v1.txt
>
>
> I may be wrong here but I noticed that the implementations of 
> CassandraConnection#createStatement() and 
> CassandraConnection#prepareStatement() keep(cache) the created 
> Statement/PrepareStatement internally in a List.
> They list is freed up only during CassandraConnection.close() which makes me 
> think that, if the connection object is used in a pool implementation, it 
> will lead to a memory leak as it will hold every single statement that is 
> used to interact with the DB until the connection gets closed. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to