[Zope-dev] Zope3 sessions and database conflicts

Hermann Himmelbauer dusty at qwer.tk
Thu Mar 4 06:05:08 EST 2010


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?

Best Regards,
Hermann

-- 
hermann at qwer.tk
GPG key ID: 299893C7 (on keyservers)
FP: 0124 2584 8809 EF2A DBF9  4902 64B4 D16B 2998 93C7


More information about the Zope-Dev mailing list