[Zope] strange database read conflict error

Peter Bengtsson peter at fry-it.com
Fri Aug 28 09:15:34 EDT 2009


It's very very hard to reproduce. You have to have really good test
coverage but even in running tests it's hard because of the fact that
they're single threaded.
If I were you I'd look into something some stresstesting tool and
bombard your localhost till you find where it's causing most of the
conflict errors.
NB. Conflict errors aren't errors. That's a sucky thing about ZODB.
Deep down it's an error but since Zope, on a higher more human level,
will just retry it should be considered a warning or info or
something.

2009/8/28 Dragos Chirila <objectvalues at gmail.com>:
> All objects as the same type of this one that generates conflicts are
> displayed using the same template that contains the same elements (js,
> images, etc.).
>
> I can access any object in the same folder
> (http://metropotam.ro/Opera/) and I will get no read conflicts (e.g.
> http://metropotam.ro/Opera/loc8982879061-Sala-Palatului/). I have
> conflicts when I access this particular object
> http://metropotam.ro/Opera/loc8982879061-Sala-Palatului/.
>
> If the problem is related with some piece of code I can't find any
> logical explanation for this behavior. ... or maybe I am looking in
> the wrong place.
>
> Also, told you before, I even erased the object from the Data.fs and
> then packed it. Conflicts stopped. After I have created a new object
> and rename it with the old id the conflicts showed up again...
>
> Thanks,
> Dragos
>
>
>
> On Fri, Aug 28, 2009 at 2:37 PM, Peter Bengtsson<peterbe at gmail.com> wrote:
>> 2009/8/28 Dragos Chirila <objectvalues at gmail.com>:
>>> Peter,
>>>
>>> Than you for your response. Please find below a few things:
>>>
>>> - I give up using sessions in the website's front and years ago :)
>>> There is only one page left that is using them, when u subscribe to
>>> our newsletter but I don't think that this affects because is used
>>> rarely
>>>
>> It might be used anyway. It'll be empty (except the
>> subscribe-to-newsletter page) all the time but it might still be in
>> use.
>> I think there is always a REQUEST.SESSION object.
>>
>>> - I am using Yahoo Maps Ajax API to display maps; also some ajax calls
>>> for our build in chat (only for logged users)
>> That's unrelated. Yahoo! isn't using ZODB.
>>
>>>
>>> So if the things above are causing read conflicts why only for this
>>> particular object? There is nothing special or different with this
>>> one...
>>>
>> It could be some other piece of code that tries to read from ZODB more
>> than once and whatever it's trying to read might be something slow
>> (slow for a computer).
>>
>> Have you tried running ZopeProfiler on your site to figure out if
>> there are certain (ZO)DB related functions that are called either many
>> many times or few but slow times.
>>
>>> Thanks again,
>>> Dragos
>>>
>>> On Fri, Aug 28, 2009 at 12:19 PM, Peter Bengtsson<peterbe at gmail.com> wrote:
>>>> The fact that the class is Products.Transience.Transience.Increaser
>>>> makes me suspect that you're using sessions and within the same
>>>> session you make too many read requests to the ZODB. When the load is
>>>> too high, after a certain amount of attempts Zope will say, "piss off!
>>>> ...for a while and come back later". So it comes back later and works
>>>> fine.
>>>> Are you using lots of AJAX requests? That can sometimes cause read
>>>> conflict errors.
>>>>
>>>> 2009/8/28 Dragos Chirila <objectvalues at gmail.com>:
>>>>> Hello everyone,
>>>>>
>>>>> I have a question regarding a database read conflict error. I would
>>>>> appreciate any thoughts on this issue.
>>>>>
>>>>> I am using Zope 2.8.9.1-final, Python 2.3.7 with a ZEO server and 4
>>>>> clients for 6 months now. I have noticed that the event.log is filled
>>>>> with read conflict errors like the one below:
>>>>>
>>>>> 2009-08-28T10:29:26 INFO ZODB.Conflict database read conflict error
>>>>> (oid 0x09, class Products.Transience.Transience.Increaser) at
>>>>> /VirtualHostBase/http/metropotam.ro:80/metropotam/VirtualHostRoot/Opera/loc4769172835-Ateneul-Roman/
>>>>> (21 conflicts, of which 0 were unresolved, since startup at Thu Aug 27
>>>>> 15:25:02 2009)
>>>>>
>>>>> This URL of the object is
>>>>> http://metropotam.ro/Opera/loc4769172835-Ateneul-Roman . We have
>>>>> around 2000 objects of the same type and this is *the only one* that
>>>>> generates read conflict errors.
>>>>>
>>>>> I have tried a few things:
>>>>>
>>>>> 1.      Edit object and recatalog it
>>>>> 2.      Rename it
>>>>> 3.      Delete object, pack database, create a new object and then rename
>>>>> it to keep the URL alive
>>>>> 4.      checked the data.fs and got no errors (fstest.py)
>>>>>
>>>>> None of the above solved the problem; I still get a lot of conflicts.
>>>>>
>>>>> Is there a way to fix this? I found it very strange that I get
>>>>> conflicts only for this object and for no other of the same type, even
>>>>> in the same folder...
>>>>>
>>>>> Thank you,
>>>>> Dragos Chirila
>>>>> _______________________________________________
>>>>> Zope maillist  -  Zope at zope.org
>>>>> https://mail.zope.org/mailman/listinfo/zope
>>>>> **   No cross posts or HTML encoding!  **
>>>>> (Related lists -
>>>>>  https://mail.zope.org/mailman/listinfo/zope-announce
>>>>>  https://mail.zope.org/mailman/listinfo/zope-dev )
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Peter Bengtsson,
>>>> work www.fry-it.com
>>>> home www.peterbe.com
>>>> hobby www.issuetrackerproduct.com
>>>> fun crosstips.org
>>>>
>>>
>>>
>>>
>>> --
>>> Dragos Chirila
>>> objectValues at gmail.com
>>> (+4) 0722 395375
>>> _______________________________________________
>>> Zope maillist  -  Zope at zope.org
>>> https://mail.zope.org/mailman/listinfo/zope
>>> **   No cross posts or HTML encoding!  **
>>> (Related lists -
>>>  https://mail.zope.org/mailman/listinfo/zope-announce
>>>  https://mail.zope.org/mailman/listinfo/zope-dev )
>>>
>>
>>
>>
>> --
>> Peter Bengtsson,
>> work www.fry-it.com
>> home www.peterbe.com
>> hobby www.issuetrackerproduct.com
>> fun crosstips.org
>>
>
>
>
> --
> Dragos Chirila
> objectValues at gmail.com
> (+4) 0722 395375
>



-- 
Peter Bengtsson,
work www.fry-it.com
home www.peterbe.com
hobby www.issuetrackerproduct.com
fun crosstips.org


More information about the Zope mailing list