Dear SQLAlchemists,

I'm using SA 0.2.8 with MySQL and experiencing problems with connections 
timeout ("MySQL server has gone away"). As of 0.2.8, there is a pool_recycle 
option which ensures connections are beeing recycled when a given amount of 
time has passed. The problem is not all connections from the pool are 
recycled, resulting in the "MySQL server has gone away" error...

This occurs while using SA with CherryPy (multithreaded environment). Looking 
at the code, I've found the recycle timeout is specific to the pool, not for 
each connection. This means (eg., two connections in the pool):
- assume connection #1 and #2 are used simultenaously
- wait pool_recycle secs
- while using connection #1, it's recycled as waiting time > pool_recycle.
- now if connection #2 is used, it won't be recycled as the pool timeout has 
been resetted... This connection #2 will produce the infamous "MySQL server 
has gone away" error...

I'm been able to reproduce this case, configuring MySQL server to timeout 
connection after 15 secs (for testing purpose...), and pool_recycle=10.

Am I understanding well ? Is this a bug (what is the expected behavior of 
pool_cycle option) ?

As of 0.2.4, which did not provide pool_recycle option, I had to write a pool 
class which was pinging the server to test each connection. Do I have to 
reconsider this solution, specific to MySQL, or is there a generic solution 
using SA 0.2.8 ?


Thanks for your help/advices.


Cheers,

Seb

-- 
Sébastien LELONG
[EMAIL PROTECTED]

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Sqlalchemy-users mailing list
Sqlalchemy-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users

Reply via email to