Yeah, well... yeah. (Staring at shoes)... conflicts can also happen on.. reads. Yes. Read conflicts, they're called. This happens in the setstate method of Connection.py. There's some explanation for this that has to do with consistency of data but I don't know it; at least I dont know it well enough to explain it competently. Note that if you're patient enough, you might be able to take the consistency hit (whatever it is) and make use of the LowConflictConnection class that ships with CoreSessionTracking 0.9.. see the CST code to see how it's used. Richard Jones wrote:
Here I was I thought Conflict Errors only happen during writes, but I'm getting conflict errors in the strangest places:
/home/zope/Zope/lib/python/Products/PageTemplates/Expressions.py line 332: o=object[name]
inside our code, in a sorting function: return cmp(getattr(x, attribute), getattr(y, attribute))
Now these are "just" attribute/member accesses .. the objects holding the attributes (ie. "object", "x" and "y") are PropertyManagers and ObjectManagers.
Anyone have any hints?
Richard
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
-- Chris McDonough Zope Corporation http://www.zope.org http://www.zope.com "Killing hundreds of birds with thousands of stones"