[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