Toby Dickenson wrote at 2003-2-3 17:04 +0000: > On Sunday 02 February 2003 3:40 pm, Dieter Maurer wrote: > > Zope's current transaction behaviour is essentially: > > > > 1 ## request starts > > 2 transaction.begin() > > 3 try: > > 4 object= REQUEST.traverse(...) > > 5 mapply(object,...) > > 6 transaction.commit() > > 7 except: > > 8 transaction.abort() > > 9 handle_error() > > 10 ## request ends > > > > > > This is flawed as error handling is done outside of a transaction. > > > > Potential changes during the error handling spill over > > uncontrolled into another request and are there > > either committed or aborted as part of this request. > ... > > and I > think > there is a flaw in this explanation. Surely any changes that leak out fro > m > one request will will be be aborted before they can do any damage, during > the > call to transaction.begin() on line 2. > > The doc string from transaction.begin is: > > '''Begin a new transaction. > > This aborts any transaction in progres. > ''' > > (I should have a chance to experiment with this tomorrow) Then, we must find another explanation for Andrews observation:
He observed heavily inconsistent (Zope) session data when he accessed the session during error handling. The problem went away when he did not do that. @Andrew: Can you check your log files whether the events would be consistent with rollbacks at the start of the next request. Dieter _______________________________________________ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )