[Zope-dev] Temp Folders and Transient Object Containers

Jeffrey P Shell jeffrey@cuemedia.com
Thu, 20 Jun 2002 16:31:06 -0600


On 6/20/02 4:01 PM, "Chris McDonough" <chrism@zope.com> wrote:

>> So, why is the default Transient Object Container put in a
> Temporary Folder?
>> If I want to use an application specific one that doesn't get lost
> on
>> restart, is it OK to put it into a normal persistent folder?
> 
> Yup.
> 
> The TOC is put into the temp folder mostly because:
> 
> 1) Sessions are write-intensive and cause bloat on undoing storages
>  like FileStorage.
> 
> 2) Sessions are write-intensive and cause conflicts when accessed
>  via a "normal" ZODB connection.  The temp folder is mounted into
>  a database which has a special "low conflict" connection type
>  that ignores read conflict errors.
> 
> You will get more conflicts and more bloat if you put a TOC into a
> normal persistent folder (esp. one backed by FileStorage), but it
> will work.  That said, there are a few bugs in the 2.5 "transience"
> implementation that I'm working on as we speak that might be more
> egregious if you have a truly persistent TOC, so pls. keep an eye
> towards 2.6 (or CVS ;-) in the next few weeks.  You will notice the
> bugs in the form of phantom key errors (not unlike the old Catalog
> bugs ;-)

Oh yes.  Those were fun days!

So, I want to have different TOC's, preferably in non persistent folders
(the site I'm working on could be quite high traffic at times).  A big
problem is - if one is in a temporary folder, it will disappear if Zope ever
restarts.

So, at present, it looks like you can only have one reliable non-persistent
TOC per Zope instance, since that one's always initialized during the time
Zope is checking its root for required objects (Zope 2.5.1
lib/python/OFS/Applicatoin.py (revision 1.179.4.1), starting at line 277).
This could be a rather crappy situation for Zope instances hosting multiple
applications with different Session requirements.  Fortunately for the
project I'm on, I think it will have a dedicated Zope instance.

No one's working on a "Kinda Sorta Temporary Folder" are they?  ;)  Or, as
Jim might put it "Temporary, except for when I don't want it to be".

-- 
Jeffrey P Shell 
www.cuemedia.com