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

Chris Withers chris at simplistix.co.uk
Fri Sep 10 02:27:56 EDT 2010


On 09/09/2010 21:47, Jim Fulton wrote:
>> 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.

That's bad, right?

> An app should capture
> the undo exception information before calling abort.

"the app" here is Zope 2's publisher process, right?

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

Any particular reason?

Chris

-- 
Simplistix - Content Management, Batch Processing & Python Consulting
            - http://www.simplistix.co.uk


More information about the Zope-Dev mailing list