[Zope-dev] zodb session errors
Miles Waller
miles at jamkit.com
Thu Nov 16 10:55:05 EST 2006
Hi,
We have a site that we've recently upgraded from 2.7.6 to 2.8.8 which
has started exhibiting higher-than-average session errors. The site
consists of 2 zeo clients on 2 separate machines, with a shared session
tempstorage mounted via the zeo server.
I expect some errors with sessions as a matter of course, but was trying
to make the user experience a little less 'severe'.
Traceback (innermost last):
* Module ZPublisher.Publish, line 114, in publish
<snip template-rendering related traceback>
* Module DocumentTemplate.DT_Util, line 197, in eval
__traceback_info__: portal_basket
* Module <string>, line 1, in <expression>
* Module Products.WFPlugins.ShopTool.BasketTool, line 74, in
oneLineDetails
* Module Products.WFPlugins.ShopTool.BasketTool, line 54, in getBasket
line 54 reads:
sess = self.session_data_manager.getSessionData(create=create)
* Module Products.Sessions.SessionDataManager, line 93, in
getSessionData
* Module Products.Sessions.SessionDataManager, line 180, in
_getSessionDataObject
* Module Products.Transience.Transience, line 846, in new_or_existing
* Module Products.Transience.Transience, line 449, in __setitem__
KeyError: 1163679740
I don't understand is what's happening here (and in turn what to do
about it). It looks as if the session machinery detects there is not
any sessiondata set up for this particular browser, goes to set one up
and then can't find the current timeslice to put the new sessiondata into.
Does this mean that the timeslice has changed in-between working it out
and assigning the sessiondata to it? Or that the timeslice has been
garbage-collected in-between? Also, can the problem be solved (without
side-effects!) by changing the period to match the timeout time - i.e.
so it can always find the current timeslice?
Thanks for any wisdom!
Miles
More information about the Zope-Dev
mailing list