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