yacine chaouche wrote at 2007-2-2 14:39 +0100:
... As discussed here : http://mail.zope.org/pipermail/zope/2007-January/170151.html and continued here : http://mail.zope.org/pipermail/zope/2007-January/170156.html
I am experiencing issues regarding a database ConflictError on session objects.
Hm, I have issues with your problem descriptions... The referenced links above do not refer to conflict errors but to "XMLRPC and strace". Then, too, I had great difficulties to understand your problem...
... It is not a ReadConflictError, nor a WriteConflictError. It is a "ConflictError: database conflict error".
A "ConflictError" is in fact a "WriteConflictError".
I am aware that conflicts occure up to 20% of the time, but in my case it is almost 100% in this specific situation !
You can easily achieve almost sure conflicts. We did once with a frame based solution: All frames in a frameset accessed the session and tried to store some information in it. As the browser requested the frames concurrently, there was a very high probablity for conflicts. In our case, there was no real need for most of the frames to access the session. Removing the unnecessary accesses removed the problem. But, if the frames had a real need to store something in the session, we would have to use persistent subobjects in the session to separate the access of the various frames into different objects.
If I do not use the session object in my code, I have no errors at all and everything just goes fine.
Then, you are using some add-on component that *is* using the session object. If the session is not used, there will be no session related conflict error.
Any idea on how to debug this ? Florent, maybe ? someone help me ! I am stuck on this for 2 weeks now.
You could try to delete "/temp_folder/session_data" temporarily (it will be recreated on the next Zope startup) to find out which component does use sessions. -- Dieter