From af0c054c6da2a1b140367c811b63a550e093596e Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon Date: Wed, 10 Jul 2019 16:32:08 +0200 Subject: [PATCH] Resolve Gitaly N+1 for CI/CD environments statuses --- app/models/project.rb | 3 +-- spec/controllers/projects/merge_requests_controller_spec.rb | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/app/models/project.rb b/app/models/project.rb index bfc35b77b8f..3648025b8fa 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -1914,9 +1914,8 @@ class Project < ApplicationRecord @route_maps_by_commit ||= Hash.new do |h, sha| h[sha] = begin data = repository.route_map_for(sha) - next unless data - Gitlab::RouteMap.new(data) + Gitlab::RouteMap.new(data) if data rescue Gitlab::RouteMap::FormatError nil end diff --git a/spec/controllers/projects/merge_requests_controller_spec.rb b/spec/controllers/projects/merge_requests_controller_spec.rb index e9d7fc8f909..cc6adc0a6c6 100644 --- a/spec/controllers/projects/merge_requests_controller_spec.rb +++ b/spec/controllers/projects/merge_requests_controller_spec.rb @@ -922,7 +922,7 @@ describe Projects::MergeRequestsController do expect(merge_request).to be_present expect { get_ci_environments_status } - .not_to change { Gitlab::GitalyClient.get_request_count } + .to change { Gitlab::GitalyClient.get_request_count }.by_at_most(1) end end @@ -937,7 +937,7 @@ describe Projects::MergeRequestsController do expect(merge_request.merge_request_diff.merge_request_diff_files).to be_many expect { get_ci_environments_status } - .not_to change { Gitlab::GitalyClient.get_request_count } + .to change { Gitlab::GitalyClient.get_request_count }.by_at_most(1) end end end