Am Sonntag, den 20.11.2005, 09:16 -0800 schrieb Dennis Allison:
I have a DTML method which provides the primary navigation control in a portion of our system and so is very heavily used. It is a primary source of conflict errors and so is being rethought.
Zope 2.8.4, ZEO 3.4.2, ZODB 3.4.2, Python 2.4.2 or 2.3.5 MySQL 4.0.20, MySQL-Python 1.2.0, MYSQLDA 2.0.9
ZODB 3.4.2 does not raise a conflict error on a read-read conflict, one of the reasons fr moving to Zope 2.8.4.
The structure of the naviagation method is simple enough. Everything is wrapped in a <dtml-let> which sets a number of parameters mostly by reading them from the SESSION (with an interface function) or plucking them from the relational database with a query.
In the scope of the let is dtml code which, when rendered, provides the various navigation links. In various sections there are additional <dtml-let> blocks and additional queries to the relational database and several <dtml-in> loops.
Looking at the code, I don't understand why I am seeing conflicts. As I understand things, neither variables in the <dtml-let> space nor the REQUEST/RESPONSE space are stored in the ZODB so modifications to them don't look like writes to the conflict mechanism. Am I incorrect in my understanding?
For what are you using the SESSION storage and for what do you need the ZSQL method calls in your navigation? What is in your ZODB? Regards Tino