Skip to content

Draft: PoC: split build metadata into job_prototype and ci_builds tables

What does this MR do and why?

References

This merge request introduces a new architecture for storing CI job data by splitting it across multiple tables. It adds a new model JobPrototype to store immutable job configuration data that can be reused across pipelines, and moves mutable and intrinsic job information to p_ci_builds. The code moves functionality from BuildMetadata to these models, updates related methods to work with both old and new data structures, and adds feature flag protection for the transition. This change aims to improve performance and reduce database size by eliminating redundant job configuration data, as the same job configurations are often repeated across many pipelines.

Related to Proposal: Deduplicate jobs's immutable metadata (#547859 - closed)

Screenshots or screen recordings

Before After

How to set up and validate locally

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Fabio Pitino

Merge request reports

Loading