--On 24. Juni 2008 10:45:48 +0200 Gregor Giesen <[EMAIL PROTECTED]> wrote:

Dear Andreas,

thank your for your response.

> under heavy load of my zope application I got the following error:
>   WARNING ZopePublication Competing writes/reads at ... database
> conflict error (oid 0x03a272, class BTrees.OIBTree.OIBucket, serial
> this txn started with 0x0376b0db577575cc 2008-06-24 06:51:20.498163,
> serial currently committed 0x0376b0dc374f1244 2008-06-24
> 06:52:12.963017)
> This is due to many reads and writes (adding objects) to a BTreeFolder.
> So my questions are:
> 1. How can I increase the number of retries to resolve the conflict?
I think this might be a quick workaround for my production instance.

At least in Zope 2 there is a variable "retry_max_count' within in the ZPublisher. Likely there is something similar within the Zope 3 publisher.
I would grep for "3" :-)

> 2. I think this might be a design problem of my application; should I
> use another backend for storing such data (sql, etc.)?

How about application specific conflict resolution (_p_resolveConflict()
hook)? How about using a nested folder structure in order to reduce the
number of conflicts?
I thought about _p_resolveConflict, but I don't see how to catch up this
conflict on my BTreeFolder derived class. Maybe I should give up the
BTrees and use an ordinary container implementation?

This would make your problem even worser.


Attachment: pgpueQ4qi1T8n.pgp
Description: PGP signature

Zope3-users mailing list

Reply via email to