I've encountered the issue described here:
on a recently upgraded Zope using LocalFS. I have tracked
down the issue to the fact that the object that LocalFS
"hands" to ZODB is a WrapperObject, and this object does
not have an oid. This raises an AssertionError during
the _commit method of ZODB.Connection.
I have traced the code a little bit and I see that this
block of code will be avoided for these objects if the
objects do not appear in self._registered_objects, which
I can achieve by making sure that the object has no
If I comment out the line in the LocalFS object where
the wrapper object's _p_jar is set to the parent object's
_p_jar, everything works fine, with no (apparent)
problems. [ I tried also setting obj._p_oid = self._p_oid,
but then Zope has pickling problems trying to pickle
instances of the wrapper class ].
The problem I have with my "solution" is that I have
no clue what _p_jar is.
What is _p_jar used for within the Zope model?
What are the implications of having an object with
What are the implications of a transient object (not
stored in the ZODB but on the local filesystem), with
Thanks in advance for any information,
Zope maillist - Zope@zope.org
** No cross posts or HTML encoding! **
(Related lists -