Merge branch 'an/network-controller-fix' into 'master'
Fix Gitaly n+1 in NetworkController#show Closes #37602 and gitaly#1056 See merge request gitlab-org/gitlab-ce!17548
This commit is contained in:
commit
5e8138aa54
3 changed files with 17 additions and 20 deletions
|
@ -9,25 +9,22 @@ class Projects::NetworkController < Projects::ApplicationController
|
|||
before_action :assign_commit
|
||||
|
||||
def show
|
||||
# n+1: https://gitlab.com/gitlab-org/gitlab-ce/issues/37602
|
||||
Gitlab::GitalyClient.allow_n_plus_1_calls do
|
||||
@url = project_network_path(@project, @ref, @options.merge(format: :json))
|
||||
@commit_url = project_commit_path(@project, 'ae45ca32').gsub("ae45ca32", "%s")
|
||||
@url = project_network_path(@project, @ref, @options.merge(format: :json))
|
||||
@commit_url = project_commit_path(@project, 'ae45ca32').gsub("ae45ca32", "%s")
|
||||
|
||||
respond_to do |format|
|
||||
format.html do
|
||||
if @options[:extended_sha1] && !@commit
|
||||
flash.now[:alert] = "Git revision '#{@options[:extended_sha1]}' does not exist."
|
||||
end
|
||||
end
|
||||
|
||||
format.json do
|
||||
@graph = Network::Graph.new(project, @ref, @commit, @options[:filter_ref])
|
||||
respond_to do |format|
|
||||
format.html do
|
||||
if @options[:extended_sha1] && !@commit
|
||||
flash.now[:alert] = "Git revision '#{@options[:extended_sha1]}' does not exist."
|
||||
end
|
||||
end
|
||||
|
||||
render
|
||||
format.json do
|
||||
@graph = Network::Graph.new(project, @ref, @commit, @options[:filter_ref])
|
||||
end
|
||||
end
|
||||
|
||||
render
|
||||
end
|
||||
|
||||
def assign_commit
|
||||
|
|
|
@ -24,12 +24,7 @@ module Network
|
|||
end
|
||||
|
||||
def parents(map)
|
||||
@commit.parents.map do |p|
|
||||
if map.include?(p.id)
|
||||
map[p.id]
|
||||
end
|
||||
end
|
||||
.compact
|
||||
map.values_at(*@commit.parent_ids).compact
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
5
changelogs/unreleased/an-network-controller-fix.yml
Normal file
5
changelogs/unreleased/an-network-controller-fix.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Prevent the graphs page from generating unnecessary Gitaly requests
|
||||
merge_request: 37602
|
||||
author:
|
||||
type: performance
|
Loading…
Reference in a new issue