Draft: POC Deduplicate intrinsic immutable data to Ci::JobInfo
What does this MR do and why?
This is a POC for moving immutable, intrinsic data into a new model Ci::JobInfo.
Details:
-
The
Ci::JobInfomodel mirrorsCi::JobDefinition. The difference is that there is no separate association table (likeci_job_definition_instances). Instead,ci_buildshas a directbelongs_torelationship toci_job_infos. -
Attempts to move the following columns from
ci_buildsintoci_job_infos:
-
--> Cannot move. This field is mutated when job transitions to failed.allow_failure -
--> Cannot move. This field is mutated in Ci::ProcessBuildService.when scheduling_type-
stage_idx--> Indexed column; need to further evaluate query performance impact -
name--> Indexed column; need to further evaluate query performance impact
- Attempts to move
ci_build_namesdata intoci_job_infos.namecolumn, which is set up with asearch_vectorcolumn.
References
- Spike: Deduplicate intrinsic immutable data fro... (#577211)
- Spike: Deduplicate `ci_build_names` into one of... (#567704)
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.
Related to #577211
Edited by Leaminn Ma