Merge "Defer setting build pause to event queue"

This commit is contained in:
Zuul
2021-02-27 00:37:11 +00:00
committed by Gerrit Code Review
2 changed files with 8 additions and 5 deletions
+3 -5
View File
@@ -488,11 +488,9 @@ class ExecutorClient(object):
build.worker.updateFromData(data)
build.__gearman_worker = build.worker.name
if 'paused' in data and build.paused != data['paused']:
build.paused = data['paused']
if build.paused:
result_data = data.get('data', {})
self.sched.onBuildPaused(build, result_data)
if 'paused' in data:
result_data = data.get('data', {})
self.sched.onBuildPaused(build, result_data)
if not started:
self.log.info("Build %s started" % job)
+5
View File
@@ -1445,6 +1445,11 @@ class Scheduler(threading.Thread):
def _doBuildPausedEvent(self, event):
build = event.build
# Setting paused is deferred to event processing stage to avoid a race
# with child job skipping.
build.paused = True
log = get_annotated_logger(self.log, build.zuul_event_id)
if build.build_set is not build.build_set.item.current_build_set:
log.warning("Build %s is not in the current build set", build)