On Wed, 29 Apr 2009 10:39:30 -0700 (PDT), Steve Lewis 
<[email protected]> wrote:
>It looks like the latest version 8.2 tries to rollback without seeing if the 
>connection is even open or not:
>
>    def rollback(self):
>        if not self._pool.reconnect:
>            self._connection.rollback()
>            return
>
>        try:
>            self._connection.rollback()
>            curs = self._connection.cursor()
>            curs.execute(self._pool.good_sql)
>            curs.close()
>            self._connection.commit()
>            return
>        except:
>            log.err(None, "Rollback failed")
>
>        self._pool.disconnect(self._connection)
>
>        if self._pool.noisy:
>            log.msg("Connection lost.")
>
>        raise ConnectionLost()
>
>I'm seeing the "Rollback failed" log message and then the ConnectionLost 
>exception being thrown. I have cp_reconnect set to True, so it's skipping down 
>to the try/except and failing on rollback. Should the code try to rollback if 
>the connection is lost?

Is there some way it can determine that the connection has been lost aside
from trying the rollback (and is compatible with other DB-API 2.0 modules)?

Jean-Paul

_______________________________________________
Twisted-Python mailing list
[email protected]
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to