Re: attempting to undo an un-undoable transaction gives "NotImplementedError" with ZODB 3.9.5

Jim Fulton <[email protected]>
Newsgroups gmane.comp.web.zope.zodb,gmane.comp.web.zope.devel
Message-ID <[email protected]>
On Fri, Sep 10, 2010 at 2:27 AM, Chris Withers <[email protected]> wrote:
> 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?

It's affect on zope users is, but arguably because Zope 2 is(/was?)
misshandling the exception.  It shouldn't let an exception raised while
handling the original exception hide the original exception. (Of course,
this is a common mistake. I've made it many times myself. :)

>> An app should capture
>> the undo exception information before calling abort.
>
> "the app" here is Zope 2's publisher process, right?

I guess. :)

>
>> My guess is that this works much better in ZODB 3.10.
>
> Any particular reason?

Because the undo handling was rewritten for 3.10. It was a mess for some time
before.

Jim

-- 
Jim Fulton
_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  [email protected]
https://mail.zope.org/mailman/listinfo/zodb-dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.