[ZODB-Dev] Re: another reason to stop supporting versions
Jim Fulton
jim at zope.com
Tue Apr 24 17:14:12 EDT 2007
On Apr 24, 2007, at 5:01 PM, Jim Fulton wrote:
>
> I'm 99.9% sure that version commit and abort are broken in
> ZODB.DB. The commit methods in CommitVersion, and AbortVersion
> (and TransactionalUndo) call invalidate on the databse too soon --
> before the transaction has committed. This can have a number of
> bad effects, including causing inconsistent data in connections.
>
> An argument for keeping version in the past was that they
> "worked". Well, I think they don't work and I'm not interested in
> writing the test to fix them. Is anyone else?
>
> I will write the necessary tests to fix the undo bug.
Oh and I'm pretty sure that transactional undo doesn't handle undo of
transactions that touch versions correctly. This runs pretty deep
because the storage API implementations don't return enough
information to handle versions. The undo method returns a
transaction id and a sequence of object ids, but it should return a
sequence of object-id/version pairs.
Jim
--
Jim Fulton mailto:jim at zope.com Python Powered!
CTO (540) 361-1714 http://www.python.org
Zope Corporation http://www.zope.com http://www.zope.org
More information about the ZODB-Dev
mailing list