[Zope-dev] The mysterious origins of a temp_folder

Chris Withers chris at simplistix.co.uk
Thu Nov 4 12:01:36 EDT 2010


Switching to zope-dev as this has become a Zope question:

On 04/11/2010 14:17, Shane Hathaway wrote:
> On 11/04/2010 06:32 AM, Chris Withers wrote:
>> I have the following config for the temp_folders of my ZODB instances:
>>
>>      <zodb_db temporary>
>>      <relstorage destination>
>>          <mysql>
>>            host   dr2.private
>>            user   zope
>> ..
>>          </mysql>
>>        keep-history false
>>      </relstorage>
>>        mount-point /temp_folder
>>        container-class Products.TemporaryFolder.TemporaryContainer
>>      </zodb_db>
>>
>> However, even after exercising the site that uses this temp_folder and
>> verifying that there are objects containing within it using the ZMI, I
>> still see the database as totally empty when using MySQL's gui
>> administrator.
>>
>> Any idea what's going on here? Where is the data actually being stored?
>
> If there are no tables at all, then nothing has ever tried to open the
> storage.

Curiouser and curiouser. So, I just checked again and the tables are now 
there but there's precisely 1 row in object_state, which isn't enough.

A "zopectl debug" creates further confusion:

 >>> app._p_jar.db().storage
<relstorage.storage.RelStorage instance at 0xb6dd96ec>
 >>> app.temp_folder._p_jar.db().storage
<tempstorage.TemporaryStorage.TemporaryStorage instance at 0xb6de6e8c>

To try and figure out what was going on, I removed the whole
<zodb_db temporary> section. I restarted the zope instance, but still 
got the same end result:

 >>> app.temp_folder._p_jar.db().storage
<tempstorage.TemporaryStorage.TemporaryStorage instance at 0xb6d7824c>

Now I'm really confused. I did try and dig into the startup code and 
found the `install_tempfolder_and_sdc` method of 
OFS.Application.AppInitializer. But, putting a pdb.set_trace() in there 
reveals that the temp folder already exists in the Application by that 
point.

Does anyone know where this is actually coming from or how it's mounted up?

Should we remove the red herring <zodb_db temporary> section in 
zope.conf.in?

cheers,

Chris

-- 
Simplistix - Content Management, Batch Processing & Python Consulting
            - http://www.simplistix.co.uk


More information about the Zope-Dev mailing list