[Zope] Read conflicts

Dieter Maurer dieter@handshake.de
Thu, 6 Mar 2003 20:47:24 +0100

Jakub Wisniowski wrote at 2003-3-6 11:30 +0100:
 > ....
 > An error was encountered while publishing this resource.
 > ZODB.POSException.ConflictError
 > ....
 > =B0       __traceback_info__: (('BTrees.OOBTree', 'OOBTree'), '\x00\x0=
0\x00\x00\x00\x00\x01\xcd', '')
 > =B0       Module Products.TemporaryFolder.TemporaryStorage, line 134, =
in store
 > ConflictError: database conflict error (oid 00000000000001cd, serial w=
as 034b62206010624c, now 034b621e679953b3)     =20

A search over the mailing list archives (for "ConflictError")
will show hundreds of messages related to your problem....

Probably, several requests try to modify the same session related object =
the same time. Due to peculiarities of the session implementation,
a read access to a session causes writing as well.

Reduce the amount of session access to the cases when you really
need it. Especially, try not to access the session in all frames
of a frameset...

Occasional conflicts are unavoidable and should not harm
(as requests are automatically retried).

 >     This error usually disappears after refreshing the page (but
 >     confuses the users).

That's strnage. The user should get such a page only when conflicts
happen with very high frequency (the request is retried 2 or 3 times
before it fails).