[ 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