[Zope] database conflict error on startup - disabling Five

Dieter Maurer dieter at handshake.de
Sun Nov 30 03:08:57 EST 2008


Dylan Jay wrote at 2008-11-30 08:46 +1100:
> ...
>> When you have a multi ZEO client setup, you should have a single
>> client distinguished responsible to keep "Control_Panel/products"
>> up to date. There is a configuration option for this ("*enable*product*").
>> Set it to "on" in this distinguished client and to "off" in all others.
>> This avoids "ConflictError"s during startup.
>
>Thanks for the tip but it didn't solve the problem. 
>The conflict error is coming from Five zcml registration steps so I guess
>"enable-product-installation off" doesn't help with that.

You are right. Almost surely, you see a "Five" bug: "Five", too, should
respect "enable-product-installation".

You can see the right transaction handling in
"OFS.Application.install_product' -- somewhere near the buttom of this
function.
Maybe, you correct "Five" accordingly.


>Any idea why this is happening to me
>and doesn't seem to be a common problem
>others come across?

"ConflictError"s are apparently nondeterministic errors -- they
only occur when concurrent transactions conflict with one another.

Apparently, in your setup, the conflict probability is especially
high (maybe because it is especially expensive to register your
package).

In principle, others are threatened as well if the are using
"registerPackage".


I do not have Zope 2.9 with its "Five". In Zope 2.11, the "Five" code
appears to have been cleaned up. This means, upgrading to Zope 2.11
may be another option for you.



-- 
Dieter


More information about the Zope mailing list