Skip to content

Introduce a table to store job trace metadata

Marius Bobin requested to merge add-ci-build-trace-metadata-table into master

What does this MR do?

Related to #296918 (closed) and #259619 (closed)

Screenshots or Screencasts (strongly suggested)

marius@home:gitlab$ VERSION=20210813111909 bin/rake db:migrate:up
== 20210813111909 CreateCiBuildTraceMetadata: migrating =======================
-- create_table(:ci_build_trace_metadata, {:id=>false, :if_not_exists=>true})
   -> 0.0112s
== 20210813111909 CreateCiBuildTraceMetadata: migrated (0.0272s) ==============

marius@home:gitlab$ VERSION=20210813111909 bin/rake db:migrate:down
== 20210813111909 CreateCiBuildTraceMetadata: reverting =======================
-- drop_table(:ci_build_trace_metadata, {:if_exists=>true})
   -> 0.0022s
== 20210813111909 CreateCiBuildTraceMetadata: reverted (0.0186s) ==============
marius@home:gitlab$ VERSION=20210817084338 bin/rake db:migrate:up
== 20210817084338 AddForeignKeyFromCiBuildMetadataToCiJobArtifacts: migrating =
-- transaction_open?()
   -> 0.0000s
-- foreign_keys(:ci_build_trace_metadata)
   -> 0.0045s
-- execute("ALTER TABLE ci_build_trace_metadata\nADD CONSTRAINT fk_21d25cac1a\nFOREIGN KEY (trace_artifact_id)\nREFERENCES ci_job_artifacts (id)\nON DELETE CASCADE\nNOT VALID;\n")
   -> 0.0034s
-- execute("SET statement_timeout TO 0")
   -> 0.0007s
-- execute("ALTER TABLE ci_build_trace_metadata VALIDATE CONSTRAINT fk_21d25cac1a;")
   -> 0.0123s
-- execute("RESET statement_timeout")
   -> 0.0007s
== 20210817084338 AddForeignKeyFromCiBuildMetadataToCiJobArtifacts: migrated (0.0447s)

marius@home:gitlab$ VERSION=20210817084338 bin/rake db:migrate:down
== 20210817084338 AddForeignKeyFromCiBuildMetadataToCiJobArtifacts: reverting =
-- remove_foreign_key(:ci_build_trace_metadata, {:column=>:trace_artifact_id})
   -> 0.0051s
== 20210817084338 AddForeignKeyFromCiBuildMetadataToCiJobArtifacts: reverted (0.0273s)

How to setup and validate locally (strongly suggested)

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

Does this MR contain changes to processing or storing of credentials or tokens, authorization and authentication methods or other items described in the security review guidelines? If not, then delete this Security section.

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by Vitali Tatarintev

Merge request reports