[storm] Disconnecting and Connecting a Storm Store Manually

Jeremy Roberts jerbear at incrediblepear.com
Fri Oct 3 04:18:59 BST 2008


Hi all,

First off, I'm having a great time using and learning about Storm, so 
thankyou to all involved!

I'm using Storm v 0.12 against a MySQL 5 DB in a large-ish project that 
is to be deployed using a mod_python / Apache prefork app server model 
(multiple stores in use in the app, many app servers involved, and many 
child worker processes configured for each app server) and have 
discovered that this is a recipe for quite a few database connections 
being held open simultaneously due to the way a Storm store keeps a 
database connection for re-use, and the default mysqld wait_time 
configuration setting of 8 hours.

I'm currently exploring the possibilities for reducing the number of 
connections open simultaneously to the DB server, and was wondering if 
there is any best practice (or even sighting in the wild) for using a 
Storm Store in a request -> connect-to-db -> get results -> 
disconnect-from-db type model, although my current rough take on Storm's 
design so far makes this approach seem anathema to me frankly.

I've looked at Store.close() / Connection.close(), and all of the 
rollback and disconnection checking contributed by James Henstridge, and 
remain stymied.

As far as I can tell, one can close a Store down easily enough, which 
will wipe the underlying Connection's raw_connection, but there is no 
exposed way to start one back up.

Am I missing something obvious, or am I possibly faced with reaching in 
through the Store and all the way down to the Store's Connection's 
Database's raw connection?

Thanks!
-Jer



More information about the storm mailing list