[Zope-dev] BTrees and ConflictErrors.

Chris McDonough chrism@zope.com
Mon, 30 Jul 2001 10:01:04 -0400


Well, if the version of 2.3 you're using indeed does have a
conflict-resolving storage, it's likely that the conflict resolution
code is being called (you may be able to put a print in there just to be
sure).  But not all conflicts can be resolved.

The id you get back from the conflict error can be used inside, for
example, a debug session, in a call to the mounted storage's
connection's __getitem__ to determine which object is being conflicted
upon.

>>> app.sm._sdc._p_jar['abiglongstringofdigits'].__class__

It'd be useful to know which object is being conflicted.

- C


Anthony Baxter wrote:
> 
> I thought the newer BTrees code was meant to deal with conflicts from
> two entries being added at the same time?
> I'm using CoreSessionTracking 0.8 with an external data source on a
> bsddb3Storage.Minimal storage mounted via ZEO (using the current Zope2.3
> code). If two sessions are created around the same time, I'm seeing
> ConflictErrors - there doesn't seem to be any attempt to invoke the
> resolveConflict code.
> 
> Any ideas what I'm missing here?
> 
> Anthony
> 
> _______________________________________________
> Zope-Dev maillist  -  Zope-Dev@zope.org
> http://lists.zope.org/mailman/listinfo/zope-dev
> **  No cross posts or HTML encoding!  **
> (Related lists -
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope )

-- 
Chris McDonough                           Zope Corporation
http://www.zope.org                    http://www.zope.com

""" Killing hundreds of birds with thousands of stones """