[Zope] Re: database conflicts and the _p_oid missing attribute bug

Jeremy Hylton jeremy at zope.com
Fri Jan 23 12:09:13 EST 2004


On Fri, 23 Jan 2004 11:54:38 -0500
 Shane Landrum <srl at boston.com> wrote:
> Where can I read about writing my own conflict
> resolution?
> What risks are there with this approach, and how do I
> minimize them?

The subject isn't well-documented.  I hope we'll improve
the documentation for 3.3, and this is one of the issues
the bears explaning.

In the interim, here are two possibilities.

Jim's wiki has a page that describes the basic API.  It's
all correct and has some simple example code.
http://www.zope.org/Members/jim/ZODB/ApplicationLevelConflictResolution

I think it doesn't address cross-object consistency issues.
 If you have two (or more) objects and there is an
invariant that spans those two objects, you need to be very
careful about maintaining that invariant in the face of
conflict resolution.  BTrees have to deal with that.

I also wrote a technical note in my weblog about avoiding
contention.  It discusses several approaches, but it's just
a sketch of some ideas.
http://www.python.org/~jeremy/weblog/031031c.html

If these don't answer your questions or provoke new
questions, feel free to ask.  It will help us understand
what new documentation is needed.

Jeremy



More information about the Zope mailing list