On Fri, 2013-10-25 at 11:45 +0200, Zdenek Pavlas wrote: > "Connection refused" is usually caused by server being administratively > down. However, the connection might also be closed by a conn-limiting > firewall. RST is also sent by kernel when the listening socket's accept() > queue is full. > > Both causes are transient, so maybe it's worth retrying. When this > assumption is wrong, there's little harm done. Timeouts are much worse, > and we already retry on timeouts.
Seems fine, but... > --- > yum/yumRepo.py | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/yum/yumRepo.py b/yum/yumRepo.py > index e371676..0b72cd9 100644 > --- a/yum/yumRepo.py > +++ b/yum/yumRepo.py > @@ -631,9 +631,9 @@ class YumRepository(Repository, config.RepoConf): > def mirror_failure(obj): > action = {} > > - # timeouts and 503 errors may retry > + # timeout, refused connect, and HTTP 503 may retry > e = obj.exception > - if e.errno == 12 or getattr(e, 'code', 0) == 503: > + if e.errno == 12 or e.errno == 14 and getattr(e, 'code', 0) in > (7, 503): Adding brackets to make this test readable FTW :). Also we've now gone from: if e.errno == 12 or (getattr(e, 'code', 0) == 503): # Do XYZ ...to: if e.errno == 12 or (e.errno == 14 and (getattr(e, 'code', 0) == 503)): # Do XYZ if e.errno == 12 or (e.errno == 14 and (getattr(e, 'code', 0) == 7)): # Do XYZ ...did we want to change the logic for 503 errors? _______________________________________________ Yum-devel mailing list Yum-devel@lists.baseurl.org http://lists.baseurl.org/mailman/listinfo/yum-devel