[ZODB-Dev] 'PersistentReference' object has no attribute '_p_jar'

Dominique Lederer lederer.dominique at gmail.com
Mon Apr 6 05:22:23 EDT 2009


Dominique Lederer schrieb:
> Dieter Maurer schrieb:
>> Dominique Lederer wrote at 2009-3-30 11:15 +0200:
>>> I am using ZODB 3.8.1 with Relstorage 1.1.3 on Postgres 8.1
>>>
>>> Frequently i am getting messages like:
>>>
>>> Unexpected error
>>> Traceback (most recent call last):
>>>  File
>>> "/home/zope/zope_script/eggs/ZODB3-3.8.1-py2.4-linux-x86_64.egg/ZODB/ConflictResolution.py",
>>> line 207, in tryToResolveConflict
>>>    resolved = resolve(old, committed, newstate)
>>>  File
>>> "/home/zope/zope_script/eggs/zope.app.keyreference-3.4.1-py2.4.egg/zope/app/keyreference/persistent.py",
>>> line 55, in __cmp__
>>>    return cmp(
>>> AttributeError: 'PersistentReference' object has no attribute '_p_jar'
>> You traceback looks strange. I miss a "resolve" line.
>>
>> The bug is probably in this "resolve" function (missing in the traceback).
>> The state handed down to the "resolve" function does not contain
>> true persistent objects; instead they are replaced by "PersistentReference"s
>> with almost no functionality. I think, the only thing one can do
>> with them is compare them for equality.
> 
> thats all the traceback gives me.
> 
> i am now updating to zope.app.keyreference 3.6.0, which seems to fix the
> problem, at least the changelog states:
> 
> Added support for new `ZODB.ConflictResolution.PersistentReference` behavior
>   to persistent key references so that they can now, in many cases, allow
>   conflict resolution when they are used as keys or set members in ZODB
>   `BTrees` data structures.
> 
> if this fixes the issue, Zope3.4 should *not* pin zope.app.version to 3.4.0 when
> using ZODB 3.8.0
> 
> may i ask, which is the right mailing list to report this?
> 
> cheers Dominique

zope.app.version should be zope.app.keyreference, sorry :)



More information about the ZODB-Dev mailing list