[ZODB-Dev] undo and zodb

Toby Dickenson tdickenson@geminidataloggers.com
Tue, 3 Sep 2002 15:52:14 +0100


On Tuesday 03 Sep 2002 3:35 pm, Neil Schemenauer wrote:
> On Tue, Sep 03, 2002 at 10:29:34AM -0400, Jim Fulton wrote:
> > An application bug like:
> >
> >   ob =3D container[oldid]
> >   del container[oldid]
> >   get_transaction().commit()

at this point, from the storage point of view 'container' does not have a=
=20
reference to 'ob'. Assuming no other object has a reference, a pack in a=20
different thread is liable to remove ob's persistent state.

For berkely.packless it is worse. 'ob's persistent state will be removed=20
before 'commit' returns

> >   container[newid] =3D ob
> >   get_transaction().commit()
> >
> > Can cause lossage with FileStorage if it is sufficiently unlucky. ;)
>
> Could you explain?