On Jan 15, 2009, at 4:22 PM, Santi Camps wrote:

Hi all,

Hi, not much really hepful to say on that topic



I've been seen the product CPSZAsyncIndexationManager but I'm asking by the benefits of use it. For example, if I add an object to the portal, I want it to be indexed before response to the user, so the response could include this new object in any portlet build using the portal_catalog.

Yes that's right, and that's why I'm no big fan of asynchronous indexation: it breaks the transactional contract.

Still, it's possible to adopt a mixed approach as it's been done in Nuxeo's Search Service*: minimal, fast, sync indexation for listings and async for full texts and fields that aren't needed for listings. I'm no specialist of CPSZAsyncIndexationManager, but I'd really doubt that it has such possibilites. Besides, I've heard that it's really hard to tweak zasync processes to really work under stressful conditions (typically you would'nt bother with async if you hadn't too much load for sync operation). Never done it myself, though.

So, the benefit of use this product with zasync is to serialize all reindexes, avoiding ConflictError between threads ?

Yes, the main issue with long indexing times is to avoid conflicts, be it between different indexing tasks** or simply because of too long transaction times overall.

* at least while I was still working on it, situation might be different now. **ZCatalog is based on BTrees, and BTrees can have more conflicts than you'd think. I've heard that the situation gets better on recent Zope versions, but CPS is still based on Zope 2.9 at this point.

Or it has other purposes ?

Thanks in advance
--
Santi Camps (Earcon S.L.)
http://www.earcon.com
http://www.kmkey.com

_______________________________________________
cps-devel mailing list
http://lists.nuxeo.com/mailman/listinfo/cps-devel

--
Georges Racinet
Zope/CPS/Plone expertise & assistance





_______________________________________________
cps-devel mailing list
http://lists.nuxeo.com/mailman/listinfo/cps-devel

Reply via email to