Any suggestion for a temporary fix would be very welcome, since we get about 6000 conflict errors per day now about 15 % unresolved, and they are really killing our portal.

A workaround might be to replace the DateIndexes for 'created' and
'modified' with FieldIndexes:  you will see a big jump in the number of
keys in the index, but (perhaps) a reduction in conflicts (altheough
there will be more bucket splits, which can also cause conflicts).

Unfortunately that does not work the FieldIndex also gives an conflict-error
<FieldIndex at Date>
<Products.ZCatalog.Catalog.Catalog object at 0xb250a6ec>
<CatalogTool at portal_catalog>
<CPSDefaultSite at uniben>
<Application at >
{'Application': <Application at >, 'ZGlobals': <BTrees._OOBTree.OOBTree object at 0xb242989c>} 2007-06-01 20:23:41 INFO ZPublisher.Conflict ConflictError at /uniben/campus/students/A923157/study_course/create_level: database conflict error (oid 0x36c429, class BTrees._OOBTree.OOBTree, serial this txn started with 0x036e0590d58661ee 2007-06-01 17:52:50.044906, serial currently committed 0x036e059346ef95dd 2007-06-01 17:55:16.625597) (1 conflicts (0 unresolved) since startup at Fri Jun 1 19:54:43 2007)

A longer term solution might be to come up with a derived index type
which used non-persistent objects (rather than the IITreeSet used by
UnIndex) for the set of RIDs stored under each 'minute':  you could then
inspect the state and do more aggressive conflict resolution than the
stock implementation allows (see my other post).

any other shortterm suggestions.
Gruß Joachim

For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -

Reply via email to