[Zope-dev] session concurrency

Dieter Maurer dieter at handshake.de
Wed Nov 26 14:22:56 EST 2003


santi at zetadb.com wrote at 2003-11-26 11:54 +0100:
 > ...
 > I'm trying to understand how Conflict Resolution works.  The first step
 > will be change my DirectoryStorage for a FileStorage and try again.

This will have no influence to your session problems.

Sessions are (by default) put into a RAM based storage independent
from your main storage ("DirectoryStorage" or "FileStorage").

 > As you say, I seems that Zope retries the request 3 times when a
 > ConflictError is raised, so it should work in my case.

Indeed.

 > If not, I will try
 > to debug and see how not, or perhaps disabling low conflict flag.

It is unlikely that the the low conflict connection causes your
problem. "Low conflict" affects the following situation:

   You try to load an object (because it is not in your ZODB cache)
   and get informed that is has been modified (by another commited
   transaction) since your transaction started.

   With a normal ZODB connection, you will get a "ReadConflictError"
   as adding the object to your ZODB cache would make it inconsistent:
   some objects would have the state from your transactions start
   and others from a later date.
   With a low conflict connection, the inconsistency is accepted
   and no "ReadConflictError" is raised.

As you described, you loose the session object.
This is not easily understood as the effect of a cache inconsistency.


-- 
Dieter



More information about the Zope-Dev mailing list