From e4d698446540db3690e39ccf1476c350455019b0 Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon Date: Wed, 25 Apr 2018 13:35:40 +0200 Subject: [PATCH 1/2] Do not save associated records for pipeline builds twice --- lib/gitlab/ci/pipeline/chain/populate.rb | 6 +----- spec/lib/gitlab/ci/pipeline/chain/populate_spec.rb | 9 ++------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/lib/gitlab/ci/pipeline/chain/populate.rb b/lib/gitlab/ci/pipeline/chain/populate.rb index d299a5677de..69b8a8fc68f 100644 --- a/lib/gitlab/ci/pipeline/chain/populate.rb +++ b/lib/gitlab/ci/pipeline/chain/populate.rb @@ -14,14 +14,10 @@ module Gitlab @command.seeds_block&.call(pipeline) ## - # Populate pipeline with all stages and builds from pipeline seeds. + # Populate pipeline with all stages, and stages with builds. # pipeline.stage_seeds.each do |stage| pipeline.stages << stage.to_resource - - stage.seeds.each do |build| - pipeline.builds << build.to_resource - end end if pipeline.stages.none? diff --git a/spec/lib/gitlab/ci/pipeline/chain/populate_spec.rb b/spec/lib/gitlab/ci/pipeline/chain/populate_spec.rb index 8312fa47cfa..4d7d6951a51 100644 --- a/spec/lib/gitlab/ci/pipeline/chain/populate_spec.rb +++ b/spec/lib/gitlab/ci/pipeline/chain/populate_spec.rb @@ -35,11 +35,6 @@ describe Gitlab::Ci::Pipeline::Chain::Populate do it 'populates pipeline with stages' do expect(pipeline.stages).to be_one expect(pipeline.stages.first).not_to be_persisted - end - - it 'populates pipeline with builds' do - expect(pipeline.builds).to be_one - expect(pipeline.builds.first).not_to be_persisted expect(pipeline.stages.first.builds).to be_one expect(pipeline.stages.first.builds.first).not_to be_persisted end @@ -151,8 +146,8 @@ describe Gitlab::Ci::Pipeline::Chain::Populate do step.perform! expect(pipeline.stages.size).to eq 1 - expect(pipeline.builds.size).to eq 1 - expect(pipeline.builds.first.name).to eq 'rspec' + expect(pipeline.stages.first.builds.size).to eq 1 + expect(pipeline.stages.first.builds.first.name).to eq 'rspec' end end end From d3ea3940c014f8ca37cbb8711be0b53f6e645f81 Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon Date: Wed, 25 Apr 2018 13:41:45 +0200 Subject: [PATCH 2/2] Add changelog for pipeline create service improvements --- .../performance-gb-improve-pipeline-creation-service.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 changelogs/unreleased/performance-gb-improve-pipeline-creation-service.yml diff --git a/changelogs/unreleased/performance-gb-improve-pipeline-creation-service.yml b/changelogs/unreleased/performance-gb-improve-pipeline-creation-service.yml new file mode 100644 index 00000000000..bd308f37bec --- /dev/null +++ b/changelogs/unreleased/performance-gb-improve-pipeline-creation-service.yml @@ -0,0 +1,5 @@ +--- +title: Improve performance of a service responsible for creating a pipeline +merge_request: 18582 +author: +type: performance