[Zope-dev] zcatalog and versions
Casey Duncan
c.duncan@nlada.org
Thu, 27 Sep 2001 14:34:15 -0400
On Thursday 27 September 2001 12:48 pm, Oliver Bleutgen allegedly wrote:
> Hi,
> I'm resending this to zope-dev because on zope
> nobody answered, it would be very nice if someone
> could step up with a small hint.
>
>
>
> Can somenone briefly explain what exactly gets
> locked in zope 2.3.3's catalog when it tries to
> index an object which is hold in a version?
> The whole catalog?
Any Btree buckets (in the indexes) which get changed get locked, which can
effectively lock out other changes to the catalog. This is a limitation of
the way the indexes are implemented, for which, sadly, there is no easy fix.
>
> I found some answers which indicate that it has
> to do with the catalog when we see version lock errors
> where there shouldn't be any (from a naive POV).
> I would like to know how far reaching these problems
> are, because I'm currently rewriting an application,
> and I might be able to work around that.
I would suggest that if any objects are reindexed in a version, that no
cataloged objects should be reindexed in any other version until that version
is saved.
You could also get around that by deferring the indexing until the version is
commited, but this will take some coding on your part. Ultimately I think
that ZCatalog should do this for you, or at least somehow let indexes have
concurrent versioning (any volunteers?)
I am thinking about writing a fishbowl proposal for ZCatalog upgrades
sometime next month, and this is one potential problem areas to address
there, especially as things like the CMF make it more ubiquitous
>
> Do these problems still persist in zope 2.4.x?
AFAIK
>
> cheers,
> oliver
/---------------------------------------------------\
Casey Duncan, Sr. Web Developer
National Legal Aid and Defender Association
c.duncan@nlada.org
\---------------------------------------------------/