[Zope] resolving conflict errors

Dennis Allison allison at shasta.stanford.edu
Fri Oct 14 12:27:46 EDT 2005


Zope 2.7.6

I am a bit confused.  

I have a Zope DTML method that is generating ZODB conflict errors.

The DTML method identified as producing the conflicts is a list of calls
to other methods, conditionally executed.

Most conflicts don't cause problems because the backoff and restart of the 
initial transaction will not have changed global state.  In our particular
case, the conflicting transaction has changed global state in our RDBMS so
when it gets rerun, some RDBMS transactions are duplicated.  And that's a 
problem.  The solution, of course, is to resolve the conflicts properly.

The first question: what data is generating the conflict?  The DTML code 
and all the method references are static and unchanged.   What data does
Zope store in the ZODB when an object is evaluated? 

Presumably conflicts can be reolved programatically by setting a method 
on the object

   _p_resolveConflict( self, old, saved, new )

and returning one or another of the states (old, saved, new).  	It's not 
real clear how to do it.   


  









 

-- 





More information about the Zope mailing list