[Zope] Trying to trap ConflictError

Dennis Allison allison at shasta.stanford.edu
Tue Jul 4 13:27:09 EDT 2006


Johnathan,
 
I have been lurking, following your thread, but not paying full 
attention.  Excuse me if thes points have been made before.

There are many long threads on Conflict Errors.  You should read them.
Note that there have been significant changes in management strategy 
beginning with Zope 2.9.X.     

A "Conflict Error" is not really an error in the usual sense;  it is an
indication of conflicting transactions in the ZODB, that is, transactions
have violated the optimistic locking used by the ZODB.  In general,
Conflict Errors are resolved without problem.  The resolution usually
involves rolling back the older transaction and committing the newer
transaction.  When the actions associated with the rolled back transaction
are not themselves fully transactional (for example, a file write) there
can be unanticipated side effects.

Your conflicts appear to be in Temporary Storage which is used for 
Session Variables.  The version that ships with Zope is flexible and 
complex and, IMHO, overkill.  Moreover, it has some unexpected properties, 
the most significant is that, even though session variables are stored in 
RAM, it occasionally uses the ZODB to manage session variable expiration.
You can often decrease the number of session variable induced conflicts by 
increasing the lifetime of session variables.  




-- 



More information about the Zope mailing list