server/pool.py
branchstable
changeset 5976 00b1b6b906cf
parent 5824 de9b7e88660e
child 6142 8bc6eac1fac1
--- a/server/pool.py	Thu Jul 15 11:38:31 2010 +0200
+++ b/server/pool.py	Thu Jul 15 12:03:13 2010 +0200
@@ -67,6 +67,9 @@
                 cnx.rollback()
             except:
                 source.critical('rollback error', exc_info=sys.exc_info())
+                # error on rollback, the connection is much probably in a really
+                # bad state. Replace it by a new one.
+                self.reconnect(source)
 
     def close(self, i_know_what_i_do=False):
         """close all connections in the pool"""