[Zope-dev] Session Errors (read conflicts)

Toby Dickenson tdickenson@geminidataloggers.com
Tue, 18 Mar 2003 19:01:56 +0000


On Tuesday 18 March 2003 6:12 pm, Chris McDonough wrote:
> I'm
> thinking that I also may just need to move the housekeeping duties to a
> separate scheduled thread that only happens when the system is "not
> busy" (e.g. when the asyncore poll select timeout is reached maybe) in
> order to reduce the potential for conflicts.

Thats hard to define, when zeo is installed.

>   But I'm not sure what else
> to do, and I still don't understand what is causing the KeyErrors in the
> storage code.  Sigh.

Ive never looked at nor used your Sessioning support, but I am interested in 
things that can cause (POS)KeyErrors in Storages.....

This might not be a storage bug. There are several known corner cases in zodb 
that mean semi-legitimate applications can cause KeyErrors. DirectoryStorage 
tries to guard against them, and will raise a DanglingReferenceError rather 
than commit a transaction that will cause a POSKeyError when read. Can the 
problem be reproduced using DirectoryStorage? (without the "low consistency 
connection")

-- 
Toby Dickenson
http://www.geminidataloggers.com/people/tdickenson