[Zope-Coders] TAL on-error

Chris McDonough chrism@zope.com
12 Jun 2002 01:32:16 -0400


I am trying to debug a problem that somebody has with sessioning.  The
problem is a particularly nasty one because it's essentially a
"heisenbug".  The problem occurs when two data structures in the
sessioning machinery that need to be kept in lockstep get out of sync
with one another.  The manifestation of the desynchronization doesn't
rear its head until a time well after the two structures become mutually
inconsistent, which makes it difficult to reproduce and debug.

Because of the circumstances surrounding the error reports, I have a
theory that TAL "on-error" statements allow folks to trap and ignore
ConflictErrors, resulting in the inadvertent commit of half-finished
transactions.

I've looked at the TAL source and it doesn't appear that TAL does
anything special with ConflictErrors, which is wrong (it needs to let
them pass through, always).

Can anyone vouch for or disavow this assertion?

- C