[ZODB-Dev] Re: ReadConflictError while re-indexing big fat index
Chris Withers
chris at simplistix.co.uk
Mon Aug 9 16:37:57 EDT 2004
Casey Duncan wrote:
> RDBMS usually solve this problem with locks (i.e., select for update or
> select for insert). This can cause similar concurrency problems, but
> generally they just surface as poor performance to the application.
I'm sure that's preferable to errors...
Now, hangs caused by circular locking are of course less preferable ;-)
> You write some python, of course ;^) Not much though.
Done.
> That means some objects are reindexed and others aren't. Whether that is
> acceptable or not is up to you.
In is in this case but might not be in others. Also, what about when
you're re-indexing to correct corrupt indexes? Then it isn't...
> Another option is to use versions, which will lock the catalog indexes
> that are changed in the version and prevent any concurrent updates to
> it. This will prevent read conflict errors, but will cause version lock
> errors if other clients attempt to write.
Ug. I hate that you're right here. *sigh*
> No, the persistent base class is now a new-style Python class. It
> requires a new-style extension class to go with it. As you can imagine
> this requires some serious changes to the low-level guts of Zope.
Why?
> As Jim said, we've tossed around having an alpha release soon. Currently
> I thing the only thing that is definitely broken is ZClasses, which I'm
> sure won't be a problem for you ;^)
Hehe, do we REALLY have to fix them? ;-)
Chris
--
Simplistix - Content Management, Zope & Python Consulting
- http://www.simplistix.co.uk
More information about the ZODB-Dev
mailing list