[
https://issues.apache.org/jira/browse/CASSANDRA-3244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13117540#comment-13117540
]
Patricio Echague commented on CASSANDRA-3244:
---------------------------------------------
Appreciate your thorough analysis.
The reason I brought it up is because I'm working on a connection pool for
Cassandra JDBC Driver based on the way Hector handles failover, load balancing
and retry mechanism. I also based the design in the way BoneCP works (although
I haven't implemented yet the statement cache, which is freed up when the
connection is released).
> 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