Bug 1313426 - gecko decision task: ValueError: No JSON object. fix SETA. r?dustin draft
authorJoel Maher <jmaher@mozilla.com>
Thu, 27 Oct 2016 15:12:33 -0400
changeset 430431 f3c42a658f2bb26ed0fff3aa077e42072ecd9d4c
parent 430430 378639d730e476941e68d69ee7157a253b54879c
child 535205 7370832c4a7ed343dc7546a239b1f13e24430f91
push id33827
push userbmo:jmaher@mozilla.com
push dateThu, 27 Oct 2016 19:26:23 +0000
reviewersdustin
bugs1313426
milestone52.0a1
Bug 1313426 - gecko decision task: ValueError: No JSON object. fix SETA. r?dustin MozReview-Commit-ID: F4V3VcDHMnW
taskcluster/taskgraph/util/seta.py
--- a/taskcluster/taskgraph/util/seta.py
+++ b/taskcluster/taskgraph/util/seta.py
@@ -59,16 +59,20 @@ class SETA(object):
         except exceptions.HTTPError:
             logger.warning("We got bad Http response from ouija,"
                            " we will treat all test tasks as high value.")
 
         # We just print the error out as a debug message if we failed to catch the exception above
         except exceptions.RequestException as error:
             logger.warning(error)
 
+        # When we get invalid JSON (i.e. 500 error), it results in a ValueError (bug 1313426)
+        except ValueError as error:
+            logger.warning("Invalid JSON, possible server error: {}".format(error))
+
         return low_value_tasks
 
     def is_low_value_task(self, label, project):
         # cache the low value tasks per project to avoid repeated SETA server queries
         if project not in self.low_value_tasks:
             self.low_value_tasks[project] = self.query_low_value_tasks(project)
         return label in self.low_value_tasks[project]