[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