Re: [SQLObject] This transaction has already gone through ROLLBACK
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
From: Oleg B. <ph...@ph...> - 2009-09-03 09:06:44
|
On Thu, Sep 03, 2009 at 10:26:03AM +0200, Sophana K wrote: > File "/usr/lib/python2.5/site-packages/SQLObject-0.10.2-py2.5.egg/sqlobject/dbconnection.py", > line 856, in doInTransaction > conn = old_conn.transaction() > File "/usr/lib/python2.5/site-packages/SQLObject-0.10.2-py2.5.egg/sqlobject/dbconnection.py", > line 754, in __getattr__ > self.assertActive() > File "/usr/lib/python2.5/site-packages/SQLObject-0.10.2-py2.5.egg/sqlobject/dbconnection.py", > line 678, in assertActive > assert not self._obsolete, "This transaction has already gone > through ROLLBACK; begin another transaction" > AssertionError: This transaction has already gone through ROLLBACK; > begin another transaction > > It looks like its related with the mysql server being overloaded. But I think you mean "restarted", not "overloaded", right? > I still don't understand why. > I've been looking at the source and don't understand how this can > happen. I never call rollback in my source, and always make > transactions through doInTransaction. doInTransaction() calls rollback() on any exception. > In the traceback I don't understand why there are missing step between > conn = old_conn.transaction() and self.assertActive(). It should go > through the Transaction constructor. What connection have you assigned to hubNoCache? It seems it's a (rolled back) transaction, not a simple connection. Oleg. -- Oleg Broytmann http://phd.pp.ru/ ph...@ph... Programmers don't die, they just GOSUB without RETURN. |