From 4647f3ed5f650737156e6242d91c5a7cd12cdeb4 Mon Sep 17 00:00:00 2001 From: Tingluo Huang Date: Tue, 10 Oct 2023 14:24:25 -0400 Subject: [PATCH] Fix telemetry publish from JobServerQueue. (#2919) --- src/Runner.Worker/JobRunner.cs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/Runner.Worker/JobRunner.cs b/src/Runner.Worker/JobRunner.cs index 4e2c4e95a..17915231e 100644 --- a/src/Runner.Worker/JobRunner.cs +++ b/src/Runner.Worker/JobRunner.cs @@ -402,7 +402,12 @@ namespace GitHub.Runner.Worker try { - await ShutdownQueue(throwOnFailure: true); + var jobQueueTelemetry = await ShutdownQueue(throwOnFailure: true); + // include any job telemetry from the background upload process. + if (jobQueueTelemetry.Count > 0) + { + jobContext.Global.JobTelemetry.AddRange(jobQueueTelemetry); + } } catch (Exception ex) { @@ -412,13 +417,6 @@ namespace GitHub.Runner.Worker result = TaskResultUtil.MergeTaskResults(result, TaskResult.Failed); } - // include any job telemetry from the background upload process. - if (_jobServerQueue != null && - _jobServerQueue.JobTelemetries.Count > 0) - { - jobContext.Global.JobTelemetry.AddRange(_jobServerQueue.JobTelemetries); - } - // Clean TEMP after finish process jobserverqueue, since there might be a pending fileupload still use the TEMP dir. _tempDirectoryManager?.CleanupTempDirectory(); @@ -511,7 +509,7 @@ namespace GitHub.Runner.Worker } } - private async Task ShutdownQueue(bool throwOnFailure) + private async Task> ShutdownQueue(bool throwOnFailure) { if (_jobServerQueue != null) { @@ -519,6 +517,7 @@ namespace GitHub.Runner.Worker { Trace.Info("Shutting down the job server queue."); await _jobServerQueue.ShutdownAsync(); + return _jobServerQueue.JobTelemetries; } catch (Exception ex) when (!throwOnFailure) { @@ -530,6 +529,8 @@ namespace GitHub.Runner.Worker _jobServerQueue = null; // Prevent multiple attempts. } } + + return Array.Empty(); } } }