Recently, I reported:
Dieter Maurer wrote at 2006-9-24 16:28 +0200:
>ATT: Crosspost. Please reply to "email@example.com" ("Reply-To" header set).
>We recently have had a problem that seems to indicate a small
>hole in ZODB (3.4) transaction management.
I may have found the cause for this problem -- although I do not
yet understand it fully:
The "ConnectionStateError" came from a
This indicated that we used an old style "ZODB.Mount.MountPoint".
Those mountpoints do not garantee that they stick to the same
root connection. If their cache contains references to other
persistent objects in other storages (e.g. via volatile attributes),
then a vital requirement for use of persistent objects
may get violated: a persistent object may only be used
in the context of its connection.
Failure to observe this restriction may cause all kinds of
The "temp_folder" proved to be the old style "MountPoint".
Our storage is very old (back from 2001). Then, "temp_folder"
still used the old style "MountPoint". Newer Zope versions
(which does not have the problem described above)
*BUT* do not replace an old style by a new style mount point.
A broken "temp_folder" may survive...
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org