diff options
author | Zuul <zuul@review.opendev.org> | 2022-10-06 16:33:32 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2022-10-06 16:33:32 +0000 |
commit | e2318a53656d5b1e16e2c378b6e335349663c739 (patch) | |
tree | 19ca384db1781017e649950251f0443c5288619b | |
parent | 13790e244442c39aed96431e0844395261b7eadc (diff) | |
parent | e68f2bfdb3dc43540febb0874bab0bc559c5ec95 (diff) | |
download | zuul-e2318a53656d5b1e16e2c378b6e335349663c739.tar.gz |
Merge "Don't trace merge jobs that we don't lock"
-rw-r--r-- | zuul/merger/server.py | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/zuul/merger/server.py b/zuul/merger/server.py index fec3df5e0..d99e5d3ee 100644 --- a/zuul/merger/server.py +++ b/zuul/merger/server.py @@ -208,22 +208,25 @@ class BaseMergeServer(metaclass=ABCMeta): if not self._merger_running: break - with tracing.startSpanInContext( - merge_request.span_context, "MergerJob", - attributes={"merger": self.hostname}): - self._runMergeJob(merge_request) + self._lockAndRunMergeJob(merge_request) except Exception: self.log.exception("Error in merge thread:") time.sleep(5) self.merger_loop_wake_event.set() + def _lockAndRunMergeJob(self, merge_request): + # Lock and update the merge request + if not self.merger_api.lock(merge_request, blocking=False): + return + with tracing.startSpanInContext( + merge_request.span_context, "MergerJob", + attributes={"merger": self.hostname}): + self._runMergeJob(merge_request) + def _runMergeJob(self, merge_request): log = get_annotated_logger( self.log, merge_request.event_id ) - # Lock and update the merge request - if not self.merger_api.lock(merge_request, blocking=False): - return # Ensure that the request is still in state requested. This method is # called based on cached data and there might be a mismatch between the |