[Zope-DB] DA's violating transactional assertions
Dieter Maurer
dieter@handshake.de
Tue, 28 Jan 2003 19:21:05 +0100
M.-A. Lemburg wrote at 2003-1-28 17:06 +0100:
> > ... exception subclassed from "ConflictError" ...
> >> We may get cleaner code across DA's when we define a standard
> >> DATransientError. It should clearly state, which DA instance (path)
> >> got the problem and what was the original exception (which
> >> we converted into a "DATransientError").
> >>
> >> On alternative to such an information rich exception would
> >> be to log the original exception (not a bad idea anyway).
> >
> >
> > Then let's do both: log the event and raise a ConflictError
> > subclass.
> >
> > Does Zope have means to prevent an endless loop here ? E.g.
> > in case the OperationalError raised by the database was not
> > really caused by a lost connection.
>
> FWIW, trial & error suggests that Zope accepts this exception at
> most once. The second time around it passes the exception back
> to the user.
Zope defines a limit of 3 retrials in case of "ConflictError".
Due to boundary issues, this may mean the request is up to 3 times
repeated or executed.
Dieter