[Swift-devel] Error messages and execution retries

Mihael Hategan hategan at mcs.anl.gov
Wed Aug 18 15:47:48 CDT 2010


On Wed, 2010-08-18 at 20:39 +0000, Ben Clifford wrote:
> > That's only if lazy errors are enabled. Perhaps they should be disabled
> > by default.
> 
> They are in trunk according to SVN - looks like I changed it 2y ago.
> 
> b54a10c7 (benc at CI.UCHICAGO.EDU    2007-09-13 16:30:32 +0000  44) lazy.errors=fal
> 
> 
> But they interact with retries in a way that makes them still lazier than 
> naively expected if you have lots of tasks - the third retry for the very 
> first task run, if you have BIGNUM tasks, won't be until 2*BIGNUM tasks 
> have been attempted...
> 
> There was this balance between lazy errors being on or off by default, 
> which was "production" versus "debugging". Maybe the same applies for 
> retries too and a set of defaults aimed at users who wantt o debug rather 
> than run in production should have retries disabled.
> 

I'm not sure.
Retries are meant to deal with transient errors, where transient is
pretty much defined as "eventually stops happening if you retry enough
times". The determination of whether they are transient or not (to a
certain degree of confidence) requires that the operations are retried.

A skilled person could perhaps, by looking at the error, be able to make
a quicker determination. But then the same skilled person would probably
be able to set retries to 0 if he/she wanted to debug.

A normal user (who doesn't care about the details) may be disturbed by
the printing of an error message that could be solved by retries. So I
don't think that's necessarily the right choice unless it is made very
clear, in the error message, that the task will be retried.





More information about the Swift-devel mailing list