Remove ci_read_pipeline_variables_from_artifact feature flag
What does this MR do and why?
Background
Currently pipeline variables take up a lot of space in the database table p_ci_pipeline_variables. Our goal in the epic gitlab-org#19989 is to offload this data to object storage by leveraging our existing pipeline artifacts framework to store pipeline variables as encrypted JSON artifacts.
In !222547 (merged), we introduced the ci_read_pipeline_variables_from_artifact feature flag to read pipeline variables from object storage (pipeline artifacts) when available, falling back to the database for pipelines where the artifact doesn't exist.
- When reading from a pipeline artifact, the variable objects are of class
Ci::PipelineVariableItem. - When reading from the variables association, the variable objects are of class
Ci::PipelineVariable.
We have rolled it out gradually and reached 100% of production.
This MR
This MR removes the ci_read_pipeline_variables_from_artifact feature flag now that the reads behaviour has been validated in production and deemed stable.
The following changes are included:
-
Feature.disabled?(:ci_read_pipeline_variables_from_artifact, project)guard is removed fromCi::Pipeline#variables: reading from artifact is now unconditional - Updated the query threshold comment in
create_pipeline_service_environment_shared_examples.rb : the +1 query toci_pipeline_artifactsfromCi::Pipeline#variablesreading pipeline variables from object storage is now permanent behaviour (previously marked asTEMPto be removed with the FF) - Updated specs
References
- FF rollout issue: [FF] `ci_read_pipeline_variables_from_artifact`... (#585224 - closed)
- Part of epic: gitlab-org#19989
- FF introduced in: Read pipeline variables from object storage (pi... (!222547 - merged)
Related to #585224 (closed)