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-
--> Same asstage_idxname. -
--> Indexed column; impractical to move. Decided to keep it innameci_buildsfor now but still copy data over toci_job_infosto dropci_build_names. See !211540 (comment 2878147699).
- 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 - closed)
- Spike: Deduplicate `ci_build_names` into one of... (#567704 - closed)
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 (closed)
Edited by Leaminn Ma