summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2019-07-10 16:32:08 +0200
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2019-07-10 16:36:07 +0200
commitaf0c054c6da2a1b140367c811b63a550e093596e (patch)
tree223452100380083dbc1a14b155735dc1d1144c69
parent49f8697a4966affd27a49ee697dd4d72f6003e13 (diff)
downloadgitlab-ce-af0c054c6da2a1b140367c811b63a550e093596e.tar.gz
Resolve Gitaly N+1 for CI/CD environments statuses
-rw-r--r--app/models/project.rb3
-rw-r--r--spec/controllers/projects/merge_requests_controller_spec.rb4
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