[ZODB-Dev] transaction undo problem

Jim Fulton jim at zope.com
Wed Jan 13 15:31:55 EST 2010


On Wed, Jan 13, 2010 at 12:34 PM, Anatoly Bubenkov <bubenkoff at gmail.com> wrote:
> Hi,
>
> i use Blobstorage and undoing a large transaction which includes many
> objects (remove a container)
> what i get:
>
> 2010-01-13T11:15:32 ERROR txn.-1223201904 Failed to abort resource
> manager: <MultiObjectResourceAdapter for <ZODB.DB.TransactionalUndo
> object at 0xe4ba04c> at 239837324>
> Traceback (most recent call last):
>  File
> "/home/buildbot/.buildout/eggs/transaction-1.0.0-py2.5.egg/transaction/_transaction.py",
> line 468, in abort
>    rm.abort(self)
>  File
> "/home/buildbot/.buildout/eggs/transaction-1.0.0-py2.5.egg/transaction/_transaction.py",
> line 541, in abort
>    self.manager.abort(o, txn)
>  File
> "/home/buildbot/.buildout/eggs/ZODB3-3.9.3-py2.5-linux-i686.egg/ZODB/DB.py",
> line 985, in abort
>    raise NotImplementedError
> NotImplementedError
> Traceback (most recent call last):
>  File "threading.py", line 440, in run
>    self.__target(*self.__args, **self.__kwargs)
>  File
> "/home/buildbot/.buildout/eggs/zope.app.twisted-3.4.1-py2.5.egg/twisted/python/threadpool.py",
> line 148, in _worker
>    context.call(ctx, function, *args, **kwargs)
>  File
> "/home/buildbot/.buildout/eggs/zope.app.twisted-3.4.1-py2.5.egg/twisted/python/context.py",
> line 59, in callWithContext
>    return self.currentContext().callWithContext(ctx, func, *args, **kw)
>  File
> "/home/buildbot/.buildout/eggs/zope.app.twisted-3.4.1-py2.5.egg/twisted/python/context.py",
> line 37, in callWithContext
>    return func(*args,**kw)
> --- <exception caught here> ---
>  File
> "/home/buildbot/.buildout/eggs/zope.app.twisted-3.4.1-py2.5.egg/twisted/web2/wsgi.py",
> line 198, in run
>    result = self.application(self.environment, self.startWSGIResponse)
>  File
> "/home/buildbot/.buildout/eggs/zope.app.wsgi-3.4.1-py2.5.egg/zope/app/wsgi/__init__.py",
> line 54, in __call__
>    request = publish(request, handle_errors=handle_errors)
>  File
> "/home/buildbot/.buildout/eggs/zope.publisher-3.4.6-py2.5.egg/zope/publisher/publish.py",
> line 142, in publish
>    obj, request, sys.exc_info(), True)
>  File
> "/home/buildbot/.buildout/eggs/zope.app.publication-3.5.0-py2.5.egg/zope/app/publication/zopepublication.py",
> line 250, in handleException
>    transaction.abort()
>  File
> "/home/buildbot/.buildout/eggs/transaction-1.0.0-py2.5.egg/transaction/_manager.py",
> line 96, in abort
>    return self.get().abort()
>  File
> "/home/buildbot/.buildout/eggs/transaction-1.0.0-py2.5.egg/transaction/_transaction.py",
> line 468, in abort
>    rm.abort(self)
>  File
> "/home/buildbot/.buildout/eggs/transaction-1.0.0-py2.5.egg/transaction/_transaction.py",
> line 541, in abort
>    self.manager.abort(o, txn)
>  File
> "/home/buildbot/.buildout/eggs/ZODB3-3.9.3-py2.5-linux-i686.egg/ZODB/DB.py",
> line 985, in abort
>    raise NotImplementedError
> exceptions.NotImplementedError:

The undo implementation in ZODB 3.9 and earlier is broken in a number of ways.

You might try the ZODB trunk to see if you have more success.

>
> so firstly the question about blobstorage - does it normally support
> blob versioning?

Yes.

Jim

-- 
Jim Fulton


More information about the ZODB-Dev mailing list