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?