Skip to content


Subversion checkout URL

You can clone with
Download ZIP


Using factory->create() on an endpoint that is down, causes a memroy leak #9

Skmirch opened this Issue · 1 comment

2 participants


in the file , in the function.....

CassandraClient *CassandraFactory::createThriftClient(const string &in_host,
int in_port,
bool framed_transport)

In this function the open is called after the pointer to CassandraClient is created. Any exception in open causes the CassandraClient pointer to be lost resulting in a memory leak. Not being able to connect to an endpoint throws the thrift TTransport exception which therefore results in a memory leak that I am seeing.

Reversing the order like so solves the problem...

transport->open(); /* throws an exception */
CassandraClient *client= new(std::nothrow) CassandraClient(protocol);

This has been tested to work.

-- Sandeep


Thanks Sandeep. I've committed this fix in minaguib/libcassandra@cb68df9

I'll send Padraig a pull request including it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.