diff options
author | Lin Jen-Shin <godfat@godfat.org> | 2018-04-02 17:40:27 +0800 |
---|---|---|
committer | Lin Jen-Shin <godfat@godfat.org> | 2018-04-03 17:16:30 +0800 |
commit | 78ea82c3e2073d7e81c59f7fbc09587892ba6729 (patch) | |
tree | da03926d8e96aaee12b05762014f6f09fa5d95de /app/controllers/projects | |
parent | 377a26446f4b88bc265e5bfc883331afdf891166 (diff) | |
download | gitlab-ce-78ea82c3e2073d7e81c59f7fbc09587892ba6729.tar.gz |
Re-enable allowing n+1 Gitaly calls for cold cache44861-mark-gitaly-nplus-one-again
Whenever cache is enabled and cold, branches index still makes
n+1 calls. Make sure we catch this.
Diffstat (limited to 'app/controllers/projects')
-rw-r--r-- | app/controllers/projects/branches_controller.rb | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/app/controllers/projects/branches_controller.rb b/app/controllers/projects/branches_controller.rb index 176679f0849..b7b36f770f5 100644 --- a/app/controllers/projects/branches_controller.rb +++ b/app/controllers/projects/branches_controller.rb @@ -22,9 +22,13 @@ class Projects::BranchesController < Projects::ApplicationController @refs_pipelines = @project.pipelines.latest_successful_for_refs(@branches.map(&:name)) @merged_branch_names = repository.merged_branch_names(@branches.map(&:name)) - @max_commits = @branches.reduce(0) do |memo, branch| - diverging_commit_counts = repository.diverging_commit_counts(branch) - [memo, diverging_commit_counts[:behind], diverging_commit_counts[:ahead]].max + + # n+1: https://gitlab.com/gitlab-org/gitaly/issues/992 + Gitlab::GitalyClient.allow_n_plus_1_calls do + @max_commits = @branches.reduce(0) do |memo, branch| + diverging_commit_counts = repository.diverging_commit_counts(branch) + [memo, diverging_commit_counts[:behind], diverging_commit_counts[:ahead]].max + end end render |