Bug 1544403 - trigger retry on instance termination mid-task r=pmoore
authorRob Thijssen <rthijssen@mozilla.com>
Wed, 08 May 2019 06:00:00 +0000
changeset 473022 e1d2dc6db0fa34f00fc68436546fd60b55b959fd
parent 473021 c4f3fbb1fdcc99945467419a6bf53b900af17f21
child 473023 c22a9760c9eb5b8eac862485e90dd90e0f57be5d
push id35986
push useropoprus@mozilla.com
push dateWed, 08 May 2019 21:49:24 +0000
treeherdermozilla-central@72f13244bf42 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerspmoore
bugs1544403
milestone68.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1544403 - trigger retry on instance termination mid-task r=pmoore when an instance is terminated while it is still running a task, the generic worker process exits with an interrupt exit code. this change treats such exit codes as an exception which triggers a task retry Differential Revision: https://phabricator.services.mozilla.com/D29417
taskcluster/taskgraph/transforms/task.py
--- a/taskcluster/taskgraph/transforms/task.py
+++ b/taskcluster/taskgraph/transforms/task.py
@@ -764,16 +764,26 @@ def build_docker_worker_payload(config, 
 def build_generic_worker_payload(config, task, task_def):
     worker = task['worker']
 
     task_def['payload'] = {
         'command': worker['command'],
         'maxRunTime': worker['max-run-time'],
     }
 
+    if worker['os'] == 'windows':
+        task_def['payload']['onExitStatus'] = {
+            'retry': [
+                # These codes (on windows) indicate a process interruption,
+                # rather than a task run failure. See bug 1544403.
+                1073807364,  # process force-killed due to system shutdown
+                3221225786,  # sigint (any interrupt)
+            ]
+        }
+
     env = worker.get('env', {})
 
     if task.get('needs-sccache'):
         env['USE_SCCACHE'] = '1'
         # Disable sccache idle shutdown.
         env['SCCACHE_IDLE_TIMEOUT'] = '0'
     else:
         env['SCCACHE_DISABLE'] = '1'