[Zope] Re: _p_resolveConflict not called on conflict

Tres Seaver tseaver at palladion.com
Wed Aug 8 10:18:04 EDT 2007

Hash: SHA1

Chris Withers wrote:
> Martijn Pieters wrote:
>> See the "Caveats and Dangers" section in:
>>   http://svn.zope.org/ZODB/trunk/src/ZODB/ConflictResolution.txt?rev=77078&view=markup
>> Conflict Resolution is a feature of a ZODB storage, and as the storage
>> is the responsibility of the ZEO server, takes place there.
> We, not quite, I suspect ;-)
> If the conflict occurs between two threads on one app server, then I 
> would expect conflict resolution to happen on the app server and not the 
> storage...

I don't know how you calibrate your expectations, Chris, but conflict
resolution is a property of (some) *storages*;  the connectoins in
application servers have nothing to do with it.  For objects served from
a ZEO storage, conflict resolution is only possible if:

  - The underlying storage is conflict resolving (FileStorage is;  none
    of the others which ship with ZODB are).

  - The storage server can import the class of the object under
    conflict (this is why the BTrees code ships with ZODB, actually,
    so that the storage server can use its conflict resolution hooks).

Installing the products containing application-defined conflict
resolution on the storage server is the only way to enable that conflict
resolution in a ZEO-backed deployment.

- --
Tres Seaver          +1 540-429-0999          tseaver at palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org


More information about the Zope mailing list