Bug 1303668 - Actually retry when mozharness query_symbols_url() fails; r=aki

This commit is contained in:
Geoff Brown 2017-01-13 07:56:03 -07:00
parent ecd3a28486
commit 3e7fb4e4c0

View File

@ -194,7 +194,7 @@ class TestingMixin(VirtualenvMixin, BuildbotMixin, ResourceMonitoringMixin,
return url
def query_symbols_url(self):
def query_symbols_url(self, raise_on_failure=False):
if self.symbols_url:
return self.symbols_url
@ -206,8 +206,11 @@ class TestingMixin(VirtualenvMixin, BuildbotMixin, ResourceMonitoringMixin,
if symbols_url:
self._urlopen(symbols_url, timeout=120)
self.symbols_url = symbols_url
except (urllib2.HTTPError, urllib2.URLError, socket.error, socket.timeout):
self.warning("Can't figure out symbols_url from installer_url: %s!" % self.installer_url)
except (urllib2.HTTPError, urllib2.URLError, socket.error, socket.timeout) as ex:
self.warning("Cannot open symbols url %s (installer url: %s): %s" %
(symbols_url, self.installer_url, ex))
if raise_on_failure:
raise
# If no symbols URL can be determined let minidump_stackwalk query the symbols.
# As of now this only works for Nightly and release builds.
@ -524,6 +527,7 @@ You can set this by:
# before being unable to proceed (e.g. debug tests need symbols)
self.symbols_url = self.retry(
action=self.query_symbols_url,
kwargs={'raise_on_failure': True},
sleeptime=20,
error_level=FATAL,
error_message="We can't proceed without downloading symbols.",
@ -533,7 +537,8 @@ You can set this by:
self.set_buildbot_property("symbols_url", self.symbols_url,
write_to_file=True)
self.download_unpack(self.symbols_url, self.symbols_path)
if self.symbols_url:
self.download_unpack(self.symbols_url, self.symbols_path)
def download_and_extract(self, extract_dirs=None, suite_categories=None):
"""