Hey Michael,

Just had a "MySQL has gone away" that I intentionally triggered by
setting the pool recycle to be higher than wait_timeout. Afterwards, I
watched the commit() at the end of the request throw a "Can't
reconnect until invalid transaction is rolled back", which the catch
block was handling with a rollback() followed by a raise. Then it got
stuck in that state.

This made me realize -- do I need to wrap *all* DB code inside try/
catch blocks ? Because currently it's only the commit() at the end of
each request that gets wrapped. Outside of "gone away" errors, are
there other errors that will get the process stuck in the "can't
reconnect until rollback" state ?

If so, it might be a pain in the ass to wrap all requests without
modifying the framework.

R

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to