BigW Consortium Gitlab
When displaying the pipelines of a project we now preload the following data: 1. Authors of the commits that belong to these pipelines 2. The number of warnings per pipeline, which is used by Ci::Pipeline#has_warnings? == Commit Authors Previously this data was queried for every Commit separately, leading to 20 SQL queries being executed in the worst case. With an average of 3 to 5 milliseconds per SQL query this could result in 100 milliseconds being spent in _just_ getting Commit authors. To preload this data Commit#author now uses BatchLoader (through Commit#lazy_author), and a separate module Gitlab::Ci::Pipeline::Preloader is used to ensure all authors are loaded before they are used. == Number of warnings This changes Ci::Pipeline#has_warnings? so it supports preloading of the number of warnings per pipeline. This removes the need for executing a COUNT(*) query for every pipeline just to see if it has any warnings or not.
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
artifact_blob_spec.rb | Loading commit data... | |
build_metadata_spec.rb | Loading commit data... | |
build_spec.rb | Loading commit data... | |
build_trace_chunk_spec.rb | Loading commit data... | |
build_trace_section_name_spec.rb | Loading commit data... | |
build_trace_section_spec.rb | Loading commit data... | |
group_spec.rb | Loading commit data... | |
group_variable_spec.rb | Loading commit data... | |
job_artifact_spec.rb | Loading commit data... | |
legacy_stage_spec.rb | Loading commit data... | |
pipeline_schedule_spec.rb | Loading commit data... | |
pipeline_schedule_variable_spec.rb | Loading commit data... | |
pipeline_spec.rb | Loading commit data... | |
pipeline_variable_spec.rb | Loading commit data... | |
runner_spec.rb | Loading commit data... | |
stage_spec.rb | Loading commit data... | |
trigger_request_spec.rb | Loading commit data... | |
trigger_spec.rb | Loading commit data... | |
variable_spec.rb | Loading commit data... |