Merge "Annotate further log messages in pipeline processing"

This commit is contained in:
Zuul 2019-10-25 16:24:58 +00:00 committed by Gerrit Code Review
commit 3181859b34
2 changed files with 15 additions and 11 deletions

View File

@ -219,17 +219,19 @@ class PipelineManager(object):
return item
return None
def removeOldVersionsOfChange(self, change):
def removeOldVersionsOfChange(self, change, event):
if not self.pipeline.dequeue_on_new_patchset:
return
old_item = self.findOldVersionOfChangeAlreadyInQueue(change)
if old_item:
self.log.debug("Change %s is a new version of %s, removing %s" %
(change, old_item.change, old_item))
log = get_annotated_logger(self.log, event)
log.debug("Change %s is a new version of %s, removing %s",
change, old_item.change, old_item)
self.removeItem(old_item)
def removeAbandonedChange(self, change):
self.log.debug("Change %s abandoned, removing." % change)
def removeAbandonedChange(self, change, event):
log = get_annotated_logger(self.log, event)
log.debug("Change %s abandoned, removing." % change)
for item in self.pipeline.getAllItems():
if not item.live:
continue
@ -237,11 +239,12 @@ class PipelineManager(object):
self.removeItem(item)
def reEnqueueItem(self, item, last_head, old_item_ahead, item_ahead_valid):
log = get_annotated_logger(self.log, item.event)
with self.getChangeQueue(item.change, item.event,
last_head.queue) as change_queue:
if change_queue:
self.log.debug("Re-enqueing change %s in queue %s" %
(item.change, change_queue))
log.debug("Re-enqueing change %s in queue %s",
item.change, change_queue)
change_queue.enqueueItem(item)
# If the old item ahead was re-enqued, this value will
@ -277,8 +280,8 @@ class PipelineManager(object):
self.reportStats(item)
return True
else:
self.log.error("Unable to find change queue for project %s" %
item.change.project)
log.error("Unable to find change queue for project %s",
item.change.project)
return False
def addChange(self, change, event, quiet=False, enqueue_time=None,

View File

@ -1223,9 +1223,10 @@ class Scheduler(threading.Thread):
self.reconfigureTenant(tenant, change.project, event)
for pipeline in tenant.layout.pipelines.values():
if event.isPatchsetCreated():
pipeline.manager.removeOldVersionsOfChange(change)
pipeline.manager.removeOldVersionsOfChange(
change, event)
elif event.isChangeAbandoned():
pipeline.manager.removeAbandonedChange(change)
pipeline.manager.removeAbandonedChange(change, event)
if pipeline.manager.eventMatches(event, change):
pipeline.manager.addChange(change, event)
finally: