[Zope-Checkins] CVS: ZODB3/ZODB - Transaction.py:1.39.2.4

Jeremy Hylton jeremy@zope.com
Tue, 29 Apr 2003 17:12:18 -0400


Update of /cvs-repository/ZODB3/ZODB
In directory cvs.zope.org:/tmp/cvs-serv1314

Modified Files:
      Tag: ZODB3-3_1-branch
	Transaction.py 
Log Message:
Backport: If an error occurs during tpc_finish, save the original
exception just in case something goes wrong while cleaning up the
message.


=== ZODB3/ZODB/Transaction.py 1.39.2.3 => 1.39.2.4 ===
--- ZODB3/ZODB/Transaction.py:1.39.2.3	Thu Jan 23 18:14:33 2003
+++ ZODB3/ZODB/Transaction.py	Tue Apr 29 17:12:18 2003
@@ -257,6 +257,7 @@
                 # have to clean up.  First save the original exception
                 # in case the cleanup process causes another
                 # exception.
+                error = sys.exc_info()
                 try:
                     self._commit_error(objects, ncommitted, jars, subjars)
                 except:
@@ -264,7 +265,7 @@
                         "A storage error occured during transaction "
                         "abort.  This shouldn't happen.",
                         error=sys.exc_info())
-                raise
+                raise error[0], error[1], error[2]
         finally:
             del objects[:] # clear registered
             if not subtransaction and self._id is not None: