From 129060f0b7125f6ac5bbdfcd5f683a3d8ca318c4 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Thu, 30 Jun 2016 22:32:24 +0100 Subject: bitbake: fetch2/wget: attempt checkstatus again if it fails Some services such as SourceForge seem to struggle to keep up under load, with the result that over half of the autobuilder checkuri runs fail with sourceforge.net "connection timed out". Attempt to mitigate this by re-attempting once the network operation on failure. (Bitbake rev: 54b1961551511948e0cbd2ac39f19b39b9cee568) (Bitbake rev: 0b48acbf0428975e67012877417b9f90d3e1778c) Signed-off-by: Ross Burton Signed-off-by: Richard Purdie Hand applied Signed-off-by: Armin Kuster Signed-off-by: Richard Purdie --- bitbake/lib/bb/fetch2/wget.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'bitbake') diff --git a/bitbake/lib/bb/fetch2/wget.py b/bitbake/lib/bb/fetch2/wget.py index 8bc9e93ca0..691942c9c2 100644 --- a/bitbake/lib/bb/fetch2/wget.py +++ b/bitbake/lib/bb/fetch2/wget.py @@ -104,7 +104,7 @@ class Wget(FetchMethod): return True - def checkstatus(self, fetch, ud, d): + def checkstatus(self, fetch, ud, d, try_again=True): import urllib2, socket, httplib from urllib import addinfourl from bb.fetch2 import FetchConnectionCache @@ -278,9 +278,13 @@ class Wget(FetchMethod): r.get_method = lambda: "HEAD" opener.open(r) except urllib2.URLError as e: - # debug for now to avoid spamming the logs in e.g. remote sstate searches - logger.debug(2, "checkstatus() urlopen failed: %s" % e) - return False + if try_again: + logger.debug(2, "checkstatus: trying again") + return self.checkstatus(fetch, ud, d, False) + else: + # debug for now to avoid spamming the logs in e.g. remote sstate searches + logger.debug(2, "checkstatus() urlopen failed: %s" % e) + return False return True def _parse_path(self, regex, s): -- cgit v1.2.3-54-g00ecf