Actually, closer inspection of the stack trace reveals something interesting: there is one thread where the __del__ method on the ConnectionFairy is getting called within the get() method of Queue, and creating a reentrant lockup since __del__ tries to return the connection to the Pool, calls put() on Queue, and the mutex is already grabbed by the enclosing get().
Changeset 1657 commits some initialization to change Queue's mutex to be a threading.RLock, and the two threading.Conditions to derive from it, so that a put() wtihin a get() wont hang within a single thread. I think this might be the actual thing going on, although i cannot reproduce a __del__ getting called just like that. i think 1657 might solve your problem. this also might be a cue to start thinking about not using Queue.Queue for the connection pool, since im never a fan of changing internals like that. Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Sqlalchemy-users mailing list Sqlalchemy-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users