[Zope-CMF] ConflictError on CMFCalendar ?

Dieter Maurer dieter at handshake.de
Wed Jan 21 14:15:20 EST 2004


Hi Paul,

Paul Winkler wrote at 2004-1-20 16:35 -0500:
>On Tue, Jan 20, 2004 at 09:19:11PM +0100, Dieter Maurer wrote:
>> Paul Winkler wrote at 2004-1-19 14:44 -0500:
>> >Has anybody else seen this with CMF 1.4.2 / Zope 2.6.2 / ZEO?
>> >
>> >when starting up zope, I *occasionally* get the following PANIC
>> >in the log.
>> >Restarting zope usually cures it.  What's going on?
>> > ...
>> >  File /zope/SoftwareHome/lib/python/ZODB/Connection.py, line 300, in commit
>> >ConflictError: database conflict error (oid 0000000000000002, class OFS.Applicat
>> >ion.Application)
>> > ...
>> >  File /zope/SoftwareHome/lib/python/OFS/Application.py, line 581, in install_pr
>> > ....
>> 
>> I saw several similar "ReadConflictError"s

I now think that I even saw your problem:

I added

                # DM: try to fight an "invalidation" race condition
                #  We do not understand how the race condition is possible
                app._p_jar.sync()

before the final "execpt:" in "OFS.Application.install_product".

As my comment indicates: I do not understand why the race condition
can occur. As we have a single connection, we should not have
any race conditions (nor any invalidation messages).

I should stress, too, that in a ZEO environment, "ClientStorage.sync()"
does not make any call to the server. It just processes already
pending messages. This forced me to insert "sleep(0.01)" in
several tests. I think, we should have a method that does a
real synchronization with the server.

That said, the "sync" above may not be enough to fix all problems
with product installation.

-- 
Dieter



More information about the Zope-CMF mailing list