[ZODB-Dev] ZODB packing error

Dieter Maurer dieter at handshake.de
Mon Apr 5 13:54:34 EDT 2004


Tim Peters wrote at 2004-4-4 23:22 -0400:
>- Transaction T1 loads an object O with a reference to persistent object
>  P, and modifies some other attribute of O (it does not load P itself).
>
>- Other transactions remove the reference from O to P, and all other
>  references to P, from the database.
>
>- A pack to current time is done.  Now the only reference to P lives in
>  memory, inside T1's view of O.
>
>- T1 finally tries to commit.
>
>At this point, I see nothing to prevent O from having a "dangling reference"
>to P -- T1 itself never loaded P into memory, and the database no longer
>contains any trace of P, but O still references it.  That probably isn't
>good.

Should this not give a (Write)ConflictError?

  Both "T1" and the transaction removing the reference from O to
  P modify "O".


-- 
Dieter



More information about the ZODB-Dev mailing list