diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-12-20 17:22:11 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-12-20 17:22:11 +0300 |
commit | 0c872e02b2c822e3397515ec324051ff540f0cd5 (patch) | |
tree | ce2fb6ce7030e4dad0f4118d21ab6453e5938cdd /app/models/ci/build_trace_metadata.rb | |
parent | f7e05a6853b12f02911494c4b3fe53d9540d74fc (diff) |
Add latest changes from gitlab-org/gitlab@15-7-stable-eev15.7.0-rc42
Diffstat (limited to 'app/models/ci/build_trace_metadata.rb')
-rw-r--r-- | app/models/ci/build_trace_metadata.rb | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/app/models/ci/build_trace_metadata.rb b/app/models/ci/build_trace_metadata.rb index 86de90983ff..00cf1531483 100644 --- a/app/models/ci/build_trace_metadata.rb +++ b/app/models/ci/build_trace_metadata.rb @@ -2,6 +2,8 @@ module Ci class BuildTraceMetadata < Ci::ApplicationRecord + include Ci::Partitionable + MAX_ATTEMPTS = 5 self.table_name = 'ci_build_trace_metadata' self.primary_key = :build_id @@ -9,15 +11,17 @@ module Ci belongs_to :build, class_name: 'Ci::Build' belongs_to :trace_artifact, class_name: 'Ci::JobArtifact' + partitionable scope: :build + validates :build, presence: true validates :archival_attempts, presence: true - def self.find_or_upsert_for!(build_id) - record = find_by(build_id: build_id) + def self.find_or_upsert_for!(build_id, partition_id) + record = find_by(build_id: build_id, partition_id: partition_id) return record if record - upsert({ build_id: build_id }, unique_by: :build_id) - find_by!(build_id: build_id) + upsert({ build_id: build_id, partition_id: partition_id }, unique_by: :build_id) + find_by!(build_id: build_id, partition_id: partition_id) end # The job is retried around 5 times during the 7 days retention period for |