Drew Nichols wrote at 2005-6-6 18:02 +1000:
Whenever I have zope running with a socket (as is the default for ZEO) my Sessions become unstable.
Unbelievable because: 1. Zope is always running with sockets (at least the HTTP socket) 2. We use ZEO and sessions without problems.
... The sessions are fine 4 out of 5 requests, but the information just disappears every now and then (refreshing the browser shows it still to be there sometimes, others it is just gone).
Looks like your sessions contain non elementary non persistent values (such as lists or dictionaries). In this case, you *MUST* modify the session in order to persist changes to these values. Usually, this looks like: complex_value = session[CCCC] # modify complex_value session[CCCC] = complex_value Otherwise, it becomes non-deterministic whether the change is made persistent (and thereby seen by other workers) or remains volatile (and seen only by the worker that made the change). I made a patch for the session machinery to turn this non-deterministic behaviour into a deterministic failure for debugging purposes. I have sent the patch to ChrisM, but he did not understand its purpose and therefore did not add it to the code. @ChrisM: Should we try again? -- Dieter