On Jun 24, 2007, at 9:31 PM, Manuel Vázquez Acosta wrote:
Let me see if I got this right:
According to ZODB.Mount.MountPoint: mount points are Zope objects
that, when traversed, accesses a different database.
You got it.
Do they report themselves as the container-class defined in zope.conf?
I mean, when I traverse to /temp_folder what do I get? Is it the
MountPoint instance or the container-class instance? Where should I
look for this code?
It's the container-class instance (or at least it looks like it when
you get there, it does a bunch of trickery under the hood). The
default container class is
Products.TemporaryFolder.TemporaryContainer. You can influence it
within zope.conf though. One of the container class instances
(mounted at the /temp_folder mount point) is created within the
OFS.Application.install_tempfolder_and_sdc method during Zope startup.
I have "tried" faster but without any luck. I modified OFS.Application
and replaced TransientObjectContainer with
faster.SessionDataContainer, but still I had too many ConflictErrors
(didn't make any measure to compare with TransientObjectContainer).
Have you tried putting the session data container *not* in
temp_folder? In other words, create a session data container in the
root of your zodb, then cause the session_data_manager object to
point at that? You may observe better performance (with the penalty
of more storage growth) because FileStorage is typically better at
resolving conflicts nowadays than TemporaryStorage is. Note that if
you're using ZEO, don't put the data container in the root, you will
only get more conflicts. Instead, mount a FileStorage somewhere.
zope-instance-using-separate-data-fs-files-for-each-one for a
reasonable explanation of how to create new mount points (ignore the
Ploney bits, only pay attention to steps 1 and 2).
Zope maillist - Zope@zope.org
** No cross posts or HTML encoding! **
(Related lists -