[Zope-dev] Coroner's toolkit for zope, or how to figure out what went wrong.
Toby Dickenson
tdickenson@geminidataloggers.com
Tue, 13 Aug 2002 00:05:53 +0100
On Monday 12 Aug 2002 11:31 pm, Romain Slootmaekers wrote:
> But we found something else:
>
> I included a script below that produces a stripped down analogy
> of our problem. (no zope needed, just ZODB, and you might wanna modify
> the first line to get it working)
Ive read your sample, but not tried it.
> The question is: is intended ZODB behaviour or not, and is there a work
> around ?
Yes, this is the intended behaviour.
While excecuting the conflict resolution logic, your conflicting objects =
exist=20
in a void - completely seperate from all other ZODB objects. Any attribut=
es=20
which you might expect to be other persistent objects are substituted for=
=20
attribute-less placeholders. This is the 'PersistentReference' object in =
your=20
traceback.
Note that these attributes are only a 'PersistentReference' while process=
ing=20
the conflict resolution logic. If you access this attribute at any other =
time=20
you get your normal class, with all its normal attributes.