cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Patricio Echague (Commented) (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-3244) JDBC CassandraConnection may lead to memory leak when used in a pool
Date Thu, 29 Sep 2011 18:59:46 GMT


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:
>             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:!default.jspa
For more information on JIRA, see:


View raw message