[Zope-dev] [ZODB-Dev] attempting to undo an un-undoable transaction gives "NotImplementedError" with ZODB 3.9.5

Jim Fulton jim at zope.com
Thu Sep 9 16:47:37 EDT 2010


On Thu, Aug 26, 2010 at 5:51 PM, Chris Withers <chris at simplistix.co.uk> wrote:
> Here's an example:
>
> 2010-08-26 22:49:01 ERROR txn.-1338986496 Failed to abort resource
> manager: <MultiObjectResourceAdapter for <ZODB.DB.TransactionalUndo
> object at 0x2d509f0> at 47516176>
> Traceback (most recent call last):
>   File "transaction-1.1.0-py2.6.egg/transaction/_transaction.py", line
> 475, in abort
>     rm.abort(self)
>   File "transaction-1.1.0-py2.6.egg/transaction/_transaction.py", line
> 548, in abort
>     self.manager.abort(o, txn)
>   File "ZODB3-3.9.5-py2.6-macosx-10.3-fat.egg/ZODB/DB.py", line 985, in
> abort
>     raise NotImplementedError
> NotImplementedError
>
> This used to give a meaningful error message.

In 3.7 and earlier.

>
> Anyone know why it no longer does?

The resource manager abort method used to be a pass. In 3.9 in raises
an exception, which hides the undo exception.  An app should capture
the undo exception information before calling abort.

My guess is that this works much better in ZODB 3.10.

Jim


-- 
Jim Fulton


More information about the Zope-Dev mailing list