Willadsens wrote:

Apparently, two concurrent transactions try to modify the
root object.

Correct, and very intentional.

Why? I'd suggest an architecture change that removes the root as a hotspot.

The current question is: semaphore or trap error and retry? Chris suggested a retry, and said the semaphore is not necessary.

If you need a semaphore for this, it doesn't need to be persistent. Just use a lok from Python's threading module...


Simplistix - Content Management, Zope & Python Consulting
           - http://www.simplistix.co.uk
Zope-DB mailing list

Reply via email to