[Zope-dev] CoreSession, ZEO and BerkeleyStorage = CorruptedDataError

Chris McDonough chrism@zope.com
Mon, 03 Sep 2001 17:00:50 -0400


I'm confused... where does BerkeleyStorage come in here?  It appears 
that the data is being saved to a FileStorage named "SessionStorage".

In any case, this is sort of besides the point... I unfortunately have 
no idea what the problem could be.  CST does not use the ZODB in any 
particularly taxing way.  About the best I can do is recommend that you 
try to put the ZEO server that serves the session data on another system 
and see if the errors continue.  If they do, and the problem is 
reproducible, we can fix it.

- C

Tony McDonald wrote:
> I'm pooped. I'll apologise in advance that there doesn't seem enough info.
> In this email, but the setup is so complex that to put it all in would
> exceed the mailing list message size :)  (and to tell the truth, I'm hoping
> that someone can point a finger at a likely spot).
> 
> I really like CST, but if this doesn't work, I'm thinking about using
> SQLSession as I'm really getting out of my depth here.
> 
> Any thoughts would be really appreciated.
> 
> I've got a ZEO system set up using this HowTo (which is very good BTW)
> 1) http://dev.zope.org/Members/dshaw/AdvancedSiteSetup
> 
> Then I installed BerkeleyStorage from a combination of
> 2) http://www.zope.org/Members/Duncan/BerkeleyStorage and
> 3) http://www.zope.org/Members/andyd/zopeberkeleydb
> 
> Then following the instructions at
> 4) http://www.zope.org/Members/randy/ZEO-Sessions
> 
> I set up a ZEO based CoreSessionTracking system and set up several client
> zope systems (from (1)) and had them accessed 'randomly' using Apache
> rewriterules.
> 
> I managed to get the system up and running. But once I 'invalidate' a
> CoreSession, I get this error message;
> 
> Error Type: CorruptedDataError
> Error Value: data_container/manage_container
> 
> Traceback:
> <!--
> Traceback (innermost last):
>   File /home/nnle/Zope-2.4.0-src/lib/python/ZPublisher/Publish.py, line 223,
> in publish_module
>   File /home/nnle/Zope-2.4.0-src/lib/python/ZPublisher/Publish.py, line 187,
> in publish
>   File /home/nnle/Zope-2.4.0-src/lib/python/Zope/__init__.py, line 226, in
> zpublisher_exception_hook
>     (Object: RoleManager)
>   File /home/nnle/Zope-2.4.0-src/lib/python/ZPublisher/Publish.py, line 171,
> in publish
>   File /home/nnle/Zope-2.4.0-src/lib/python/ZPublisher/mapply.py, line 160,
> in mapply
>     (Object: logout)
>   File /home/nnle/Zope-2.4.0-src/lib/python/ZPublisher/Publish.py, line 112,
> in call_object
>     (Object: logout)
>   File /home/nnle/Zope-2.4.0-src/lib/python/Products/UserDb/UserDb.py, line
> 334, in logout
>     (Object: RoleManager)
>   File /home/nnle/Zope-2.4.0-src/lib/python/OFS/DTMLMethod.py, line 194, in
> __call__
>     (Object: docLogout)
>   File /home/nnle/Zope-2.4.0-src/lib/python/DocumentTemplate/DT_String.py,
> line 544, in __call__
>     (Object: docLogout)
>   File /home/nnle/Zope-2.4.0-src/lib/python/DocumentTemplate/DT_Util.py,
> line 230, in eval
>     (Object: session_info.getSessionData().invalidate())
>     (Info: session_info)
>   File <string>, line 2, in f
>     (Object: guarded_getattr)
>   File 
> /home/nnle/Zope-2.4.0-src/lib/python/Products/CoreSessionTracking/SessionDat
> aManager.py, line 228, in getSessionData
>     (Object: session_info)
>   File 
> /home/nnle/Zope-2.4.0-src/lib/python/Products/CoreSessionTracking/SessionDat
> aManager.py, line 323, in _getSessionDataObject
>     (Object: session_info)
>   File 
> /home/nnle/Zope-2.4.0-src/lib/python/Products/CoreSessionTracking/AutoExpire
> Mapping.py, line 235, in get
>     (Object: session_data_container)
>   File 
> /home/nnle/Zope-2.4.0-src/lib/python/Products/CoreSessionTracking/AutoExpire
> Mapping.py, line 221, in __getitem__
>     (Object: session_data_container)
>   File 
> /home/nnle/Zope-2.4.0-src/lib/python/Products/CoreSessionTracking/AutoExpire
> Mapping.py, line 154, in _getCurrentBucket
>     (Object: session_data_container)
>   File /home/nnle/Zope-2.4.0-src/lib/python/ZODB/Connection.py, line 519, in
> setstate
>   File /home/nnle/Zope-2.4.0-src/lib/python/ZODB/FileStorage.py, line 587,
> in load
>     (Object: /home/nnle/ZEO_FARM/SessionData.fs)
>   File /home/nnle/Zope-2.4.0-src/lib/python/ZODB/FileStorage.py, line 568,
> in _load
>     (Object: /home/nnle/ZEO_FARM/SessionData.fs)
> CorruptedDataError: (see above)
> 
> -->
> 
> 
> Versions
> Solaris 8
> Python 2.1
> Zope 2.4.0 src
> Berkeley3.2
> CoreSessionTracking 0.8
> 
> 


-- 
Chris McDonough                    Zope Corporation
http://www.zope.org             http://www.zope.com
"Killing hundreds of birds with thousands of stones"