summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/workers/archive_trace_worker.rb2
-rw-r--r--app/workers/ci/archive_traces_cron_worker.rb6
-rw-r--r--lib/gitlab/background_migration/archive_legacy_traces.rb2
3 files changed, 4 insertions, 6 deletions
diff --git a/app/workers/archive_trace_worker.rb b/app/workers/archive_trace_worker.rb
index 9169f21af2a..bad6a3e2fc7 100644
--- a/app/workers/archive_trace_worker.rb
+++ b/app/workers/archive_trace_worker.rb
@@ -6,7 +6,7 @@ class ArchiveTraceWorker
def perform(job_id)
Ci::Build.find_by(id: job_id).try do |job|
- job.trace.archive!
+ job.trace.archive! unless build.job_artifacts_trace
end
end
end
diff --git a/app/workers/ci/archive_traces_cron_worker.rb b/app/workers/ci/archive_traces_cron_worker.rb
index 9bee4fe6cc5..3fdfefba46d 100644
--- a/app/workers/ci/archive_traces_cron_worker.rb
+++ b/app/workers/ci/archive_traces_cron_worker.rb
@@ -11,10 +11,8 @@ module Ci
# More details in https://gitlab.com/gitlab-org/gitlab-ce/issues/36791
Ci::Build.finished.with_live_trace.find_each(batch_size: 100) do |build|
begin
- build.trace.archive!
- rescue ArchiveError => e
- next if e.message.include?('Already archived')
-
+ build.trace.archive! unless build.job_artifacts_trace
+ rescue => e
failed_archive_counter.increment
Rails.logger.error "Failed to archive stale live trace. id: #{build.id} message: #{e.message}"
end
diff --git a/lib/gitlab/background_migration/archive_legacy_traces.rb b/lib/gitlab/background_migration/archive_legacy_traces.rb
index 5a4e5b2c471..fd7d695d340 100644
--- a/lib/gitlab/background_migration/archive_legacy_traces.rb
+++ b/lib/gitlab/background_migration/archive_legacy_traces.rb
@@ -13,7 +13,7 @@ module Gitlab
::Ci::Build.finished.without_archived_trace
.where(id: start_id..stop_id).find_each do |build|
begin
- build.trace.archive!
+ build.trace.archive! unless build.job_artifacts_trace
rescue => e
Rails.logger.error "Failed to archive live trace. id: #{build.id} message: #{e.message}"
end