[Zope] Zope Versions unusable?

Jim Fulton jim@digicool.com
Mon, 20 Dec 1999 09:27:06 -0500


Jochen Haeberle wrote:
> 
(snip)
> >Yes. It happens when you try to modify an an object
> >that has been modified in (another) version. When you
> >modify an object in a version, the object is locked and
> >can only be modified in that version.  The effect of a change
> >can be wideer than expected. For example, adding an object
> >to a folder modifies the folder.  If changing an
> >object causes a catalog to be updated, then changing
> >an object in a version locks the catalog, as well as
> >the object.
> 
> Mhm, not really. Only if you refer to the non Version environment as
> a a Version, too (what you probably do), well, then it is probably the
> catalog messing up...
> 
> But then, it is a real pain... how am I supposed to work on features in
> a version if I can't try it using the catalog...

This is currently an issue that limits the usefulness of
using versions and catalog together. It is a situation
that we plan to improve. :)

There are a number of things we can do to address this:

 1. Reduce the number of updates made when an object is
    added to the catalog.  For example, there is a problem
    with the current BTree implementation that causes too
    many nodes to get updated due to the way that tree-size
    information is stored in intermediate nodes. We are 
    working on fixing this.

 2. Add a ZODB conflict-resolution protocol.  This will allow
    application level code to resolve conflicts. For example, 
    imagine two requests that add items to a folder with 
    different names.  Currently, these requests conflict
    because they both modify the folder. In the future, 
    folders might implement methods that resolve the conflict
    by adding both items.
 
Jim

--
Jim Fulton           mailto:jim@digicool.com   Python Powered!        
Technical Director   (888) 344-4332            http://www.python.org  
Digital Creations    http://www.digicool.com   http://www.zope.org    

Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email
address may not be added to any commercial mail list with out my
permission.  Violation of my privacy with advertising or SPAM will
result in a suit for a MINIMUM of $500 damages/incident, $1500 for
repeats.