[ZODB-Dev] what could cause this kind of cache corruption?

Chris Withers chris at simplistix.co.uk
Thu Jul 31 11:23:07 EDT 2008


Hi All,

I have a project with one zeo server, one zope client, all Zope 2.9.8.

With the client running, I ran a script that did nothing other than scan 
through data (ie: no changes, no commits) using "zopectl run" from the 
instance home of the client.

After this, the zope client's web interface started showing the 
following exceptions:

Module ZODB.Connection, line 732, in
setstate
Module ZODB.Connection, line 768, in
_setstate
Module ZEO.ClientStorage, line 746, in
load
Module ZEO.ClientStorage, line 751, in
loadEx
Module ZEO.cache, line 189, in load
Module ZEO.cache, line 1010, in access
Module ZEO.cache, line 630, in fromFile
ValueError: corrupted record, oid

Module ZODB.Connection, line 732, in
setstate
Module ZODB.Connection, line 768, in
_setstate
Module ZEO.ClientStorage, line 746, in
load
Module ZEO.ClientStorage, line 774, in
loadEx
Module ZEO.cache, line 293, in store
Module ZEO.cache, line 980, in add
Module ZEO.cache, line 915, in
_makeroom
KeyError: 12

What could have caused this?

I didn't realise (and I've done it often and never experienced this in 
the past) than running a zopectl run script from the same instance home 
as a running client could result in ZEO client cache corruption.

Should this be the case?

cheers,

Chris

PS: Probably relevent: The zope.conf in the instance home in question 
specifies persistent client caches for the ClientStorages...

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


More information about the ZODB-Dev mailing list