[Zope-dev] Zope3 sessions and database conflicts

Souheil CHELFOUH trollfot at gmail.com
Thu Mar 4 08:01:54 EST 2010


Could you please, Kevin, explain how you acheived that ?

Thank you
- Souheil

2010/3/4 kevin gill <kevin at movieextras.ie>:
>> Hi,
>> For quite some time I see messages like this in my z3.log:
>>
>> 2010-03-02T16:27:14 WARNING ZopePublication Competing writes/reads
>> at
>> /BSPSite/act/++vh++http:zis.act.at:80/bankneu/++/images/sponsor_logo.png:
>> database conflict error (oid 0x063f, class BTrees.OOBTree.OOBucket, serial
>> this txn started with 0x038484dc7d5ac044 2010-03-02 14:52:29.379960,
>> serial
>> currently committed 0x038484ff3c6b5455 2010-03-02 15:27:14.160763)
>>
>> I followed an advice from the zope-dev list and added some debug messages
>> in
>> ZODB.Connection.py where the objects are registered for writing.
>>
>> The following debug messages (I print the key/values of the object in
>> question) occur before and after the database conflict error:
>>
>> -------------------
>> 2010-03-02T16:27:14 DEBUG zbsp keys:
>> ['6ZZzgjNK0p.bIIlruXb4JkDo-T0J-XipPcVFGtcj0
>> LH6dMdI9akYvg', ......... , '7MmOPQOlkAHoa3T
>> nydH9IIgKBqoVyn3Q.yH6OXJeLj7epObIy3M5Lg']
>> -----------
>> 2010-03-02T16:27:14 DEBUG zbsp values: [<zope.session.session.SessionData
>> object at 0x43723bec>, <zope.session.session.SessionData object at
>> 0x4372356c>, <zope.session.session.SessionData object at 0x437233ec>,
>> .........
>> <zope.session.session.SessionData object at 0x436b586c>,
>> <zope.session.session.SessionData object at 0x436b532c>,
>> <zope.session.session.SessionData object at
>> 0x43640b6c>,<zope.session.session.SessionData object at 0x436b572c>]
>> -------------------
>>
>> So it seems these are the session data containers.
>>
>> I wonder why they are written? Perhaps this happens when somebody else is
>> logging into the system (so a new session is added) and others are
>> concurrently reading from the session? However, this would mean that the
>> session mechanism has a flaw, as this is a standard procedure?
>>
>> Any ideas of how to fix this?
>
> I had a serious problem with the session machinery.
>
> I use a very long timeout on sessions and thus have a large number of
> sessions saved (up to 30k). The sweep machinery kicks in and sweeps
> everything. It takes so long that all the threads do the sweep and you get
> these errors.
>
> I customised the sweep for my site as follows:
>
> 1. Only sweep at night
> 2. Sweep a random subset of the data (20 records), but sweep very often
> 3. Different timeouts for authenticated sessions and anonymous sessions.
>
> Regards,
>
> Kevin
>
>
>>
>> Best Regards,
>> Hermann
>>
>> --
>> hermann at qwer.tk
>> GPG key ID: 299893C7 (on keyservers)
>> FP: 0124 2584 8809 EF2A DBF9  4902 64B4 D16B 2998 93C7
>> _______________________________________________
>> Zope-Dev maillist  -  Zope-Dev at zope.org
>> https://mail.zope.org/mailman/listinfo/zope-dev
>> **  No cross posts or HTML encoding!  **
>> (Related lists -
>>  https://mail.zope.org/mailman/listinfo/zope-announce
>>  https://mail.zope.org/mailman/listinfo/zope )
>>
>>
>>
>
>
> _______________________________________________
> Zope-Dev maillist  -  Zope-Dev at zope.org
> https://mail.zope.org/mailman/listinfo/zope-dev
> **  No cross posts or HTML encoding!  **
> (Related lists -
>  https://mail.zope.org/mailman/listinfo/zope-announce
>  https://mail.zope.org/mailman/listinfo/zope )
>


More information about the Zope-Dev mailing list