[ZODB-Dev] ZODB.POSException.ReadConflictError

Dieter Maurer dieter at handshake.de
Sat Dec 20 06:21:27 EST 2003


Dr. Thomas Wagner wrote at 2003-12-17 11:48 +0100:
> ...
>we are running a portal with 10000 users, using Plone, Zope 2.7b3, ZEO 
>and 4 ZEO Clients, all more than generously equiped. Since upgrading to 
>2.7b3 we get a frequent ZODB.POSException.ReadConflictError for various 
>objects togehter with Uuser authentication (log in oder access via 
>memberdata_tool. The error only occurs on the ZEO clients and is then 
>responded to all requests.
>
>We checked for some unfortunate code in our skripts like discussed in 
>this list some days ago but that didnt bring up any strange constructions.
>
>does anyone have the same problem or can you give us some idea how we 
>can find out more about this error?

You have several options:

  *  "ReadConflictError" only occurs if someone else writes the
     object. Analyse which object is affected and determine
     whether it is right that it is written

  *  I have a ZODB 3.1 patch that avoids "ReadConflictError"
     by implementing snapshot delivery: object state is delivered
     as it has been when the transaction started.

     Note that this patch can lead to ZODB inconsistencies under
     special circumstances (one of the ZEO tests fails on
     high speed computers).

       <http://www.dieter.handshake.de/pyprojects/zope>

  *  Jeremy has designed an MVCC (MultiVersion Concurrency Control)
     protocol that is similar to the above patch but does
     not suffer the inconsistency problem above. It is destined for
     ZODB 3.3. Based on experience, I expect ZODB 3.3 to
     be released somewhere near mid 2004.

  *  I will backport some of Jeremy's MVCC proposal for ZODB 3,2
     within the next two weeks. The patch will be available
     at my Zope page (see above).

-- 
Dieter



More information about the ZODB-Dev mailing list