[ZODB-Dev] Ape and ConflictError's

Rocky Burt rocky.burt@bricsnet.com
10 Apr 2003 09:53:04 -0400


All,

After viewing data in a certain situation (some ZClass-based objects in
my Plone site, specifically), I get the following message:

2003-04-10T09:51:45 INFO(0) ZODB conflict error at /BuildingCenter/Data/
(4 conflicts since startup at 2003-04-10T09:51:18) 


After adding some debug logic to Ape, I managed to get this:


abort(): ZODB.POSException.ConflictError: (3L,) already exists
Traceback (most recent call last):
  File
"/usr/misc/apps/Zope-2.6.1-linux2-x86/lib/python/ZODB/Transaction.py",
line 235, in commit
    ncommitted += self._commit_objects(objects)
  File
"/usr/misc/apps/Zope-2.6.1-linux2-x86/lib/python/ZODB/Transaction.py",
line 349, in _commit_objects
    jar.commit(o, self)
  File
"/usr/misc/zope/instances/buildingcenter/Products/Ape/apelib/zodb3/connection.py", line 278, in commit
    s=dbstore(oid,serial,p,version,transaction)
  File
"/usr/misc/zope/instances/buildingcenter/Products/Ape/apelib/zodb3/storage.py", line 169, in store
    raise POSException.ConflictError(
ConflictError: (3L,) already exists
------


My situation is as follows:
  - Ape/Pgsql mount at /MySite/Data/Layer1
  - /MySite is a Plone Site
  - /MySite/Data/Layer1 is of DataLayer meta_type/portal_type (DataLayer
is based off of a ZClass)

Now... I had this running before properly when DataLayer was defined in
an external product instead of a ZClass (and yes, I emptied the pgsql
db's in between and recreated the objects when I changed where/how
DataLayer was defined).  But unfortunately I'm afraid there are other
things I've forgotten I did in between switching from DataLayer being
externally defined and ZClass-defined, so I don't know for sure if that
exactly is the culprit.

As I'm running a modified Ape, I'm figuring there's no one on this list
who can directly help me fix my problem.  But I'm hoping to get some
hints as to what to look at.

One question, specifically is... what, exactly, does "(3L,) already
exists" mean?  It shouldn't be inserting anything into the database (I
don't think), since I'm just viewing my /MySite/Data site to get these
errors.

Thanks,
Rocky