Discussion:
[Erp5-dev] Major upgrade to ZSQLCatalog
Jean-Paul Smets
2004-05-23 13:39:18 UTC
Permalink
Hi,

I have commited a major upgrade to ZSQLCatalog. This upgrade solves the
second part of locking issues: uid generation. By generating uid values in
advance and allocating a list of 1000 uids stored in RAM to each thread,
object creation ERP5 does not require any call to ZSQLCatalog.

This approach is compatible with a highly distributed ZEO environment.

This tremendously not only reduces the risks of locks (which had already
nearly disappeared BTW with the 3 phase transaction system in CMFActivity),
but also accelerated data input. Creating a new document now takes less
than 100ms on my laptop.

The main consequence of this upgrade are:
- requirement to add 2 methods to portal_catalog
(z_produce_reserved_uid_list and z_clear_reserved)
- make sure the 2 methods are selected in portal_catalog properties
- replace z0_catalog_object by z_update_object in catalog properties
(z0_catalog_object is no longer useful since catalog lines are always
pre-allocated by uid generator)

The 'advanced' menu in the catalog has a new section for clearing reserved
uids.

I could successfully pas unit tests for category with this new catalog.
However, more testing is still required.

JPS.

Loading...