From dd631cae8c10a0e2386b3c7a0f359429861fa92d Mon Sep 17 00:00:00 2001 From: Tobias Henkel Date: Mon, 25 May 2020 15:08:41 +0200 Subject: [PATCH] Don't decrease window size on merge failure Dependent pipelines decrease the window size to limit the resource impact that happens in case of a gate reset. Merge failures are typically detected right after enqueue and are carried on until it's the first item those don't really cause expensive gate resets. Thus it's not necessary to decrease the window size if a merge failure happens. Change-Id: Icc8684c1bd8b5ce4e8eefcd0ee716ad9c771e689 --- zuul/manager/__init__.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/zuul/manager/__init__.py b/zuul/manager/__init__.py index fdce0c7b72..5322e9a73e 100644 --- a/zuul/manager/__init__.py +++ b/zuul/manager/__init__.py @@ -1112,9 +1112,10 @@ class PipelineManager(metaclass=ABCMeta): log.info("Reported change %s did not merge because it %s," "status: all-succeeded: %s, merged: %s", item.change, error_reason, succeeded, merged) - change_queue.decreaseWindowSize() - log.debug("%s window size decreased to %s", - change_queue, change_queue.window) + if not succeeded: + change_queue.decreaseWindowSize() + log.debug("%s window size decreased to %s", + change_queue, change_queue.window) raise exceptions.MergeFailure( "Change %s failed to merge" % item.change) else: