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?

Zope maillist  -  Zope@zope.org
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-dev )

Reply via email to