Merge branch 'sh-improve-find-commit-caching' into 'master'

Expand FindCommit caching to blob and refs

See merge request gitlab-org/gitlab-ce!27084
This commit is contained in:
Kamil Trzciński 2019-04-07 12:25:42 +00:00
commit 33316f7f17
7 changed files with 18 additions and 4 deletions

View file

@ -9,6 +9,8 @@ class Projects::BlobController < Projects::ApplicationController
include ActionView::Helpers::SanitizeHelper include ActionView::Helpers::SanitizeHelper
prepend_before_action :authenticate_user!, only: [:edit] prepend_before_action :authenticate_user!, only: [:edit]
around_action :allow_gitaly_ref_name_caching, only: [:show]
before_action :require_non_empty_project, except: [:new, :create] before_action :require_non_empty_project, except: [:new, :create]
before_action :authorize_download_code! before_action :authorize_download_code!

View file

@ -7,6 +7,7 @@ class Projects::CommitsController < Projects::ApplicationController
include RendersCommits include RendersCommits
prepend_before_action(only: [:show]) { authenticate_sessionless_user!(:rss) } prepend_before_action(only: [:show]) { authenticate_sessionless_user!(:rss) }
around_action :allow_gitaly_ref_name_caching
before_action :whitelist_query_limiting, except: :commits_root before_action :whitelist_query_limiting, except: :commits_root
before_action :require_non_empty_project before_action :require_non_empty_project
before_action :assign_ref_vars, except: :commits_root before_action :assign_ref_vars, except: :commits_root
@ -14,8 +15,6 @@ class Projects::CommitsController < Projects::ApplicationController
before_action :validate_ref!, except: :commits_root before_action :validate_ref!, except: :commits_root
before_action :set_commits, except: :commits_root before_action :set_commits, except: :commits_root
around_action :allow_gitaly_ref_name_caching
def commits_root def commits_root
redirect_to project_commits_path(@project, @project.default_branch) redirect_to project_commits_path(@project, @project.default_branch)
end end

View file

@ -4,6 +4,8 @@ class Projects::RefsController < Projects::ApplicationController
include ExtractsPath include ExtractsPath
include TreeHelper include TreeHelper
around_action :allow_gitaly_ref_name_caching, only: [:logs_tree]
before_action :require_non_empty_project before_action :require_non_empty_project
before_action :validate_ref_id before_action :validate_ref_id
before_action :assign_ref_vars before_action :assign_ref_vars

View file

@ -10,6 +10,8 @@ class ProjectsController < Projects::ApplicationController
prepend_before_action(only: [:show]) { authenticate_sessionless_user!(:rss) } prepend_before_action(only: [:show]) { authenticate_sessionless_user!(:rss) }
around_action :allow_gitaly_ref_name_caching, only: [:index, :show]
before_action :whitelist_query_limiting, only: [:create] before_action :whitelist_query_limiting, only: [:create]
before_action :authenticate_user!, except: [:index, :show, :activity, :refs, :resolve] before_action :authenticate_user!, except: [:index, :show, :activity, :refs, :resolve]
before_action :redirect_git_extension, only: [:show] before_action :redirect_git_extension, only: [:show]
@ -26,8 +28,6 @@ class ProjectsController < Projects::ApplicationController
before_action :authorize_admin_project!, only: [:edit, :update, :housekeeping, :download_export, :export, :remove_export, :generate_new_export] before_action :authorize_admin_project!, only: [:edit, :update, :housekeeping, :download_export, :export, :remove_export, :generate_new_export]
before_action :event_filter, only: [:show, :activity] before_action :event_filter, only: [:show, :activity]
around_action :allow_gitaly_ref_name_caching, only: [:index, :show]
layout :determine_layout layout :determine_layout
def index def index

View file

@ -0,0 +1,5 @@
---
title: Expand FindCommit caching to blob and refs
merge_request: 27084
author:
type: performance

View file

@ -10,6 +10,8 @@ describe Projects::BlobController do
context 'with file path' do context 'with file path' do
before do before do
expect(::Gitlab::GitalyClient).to receive(:allow_ref_name_caching).and_call_original
get(:show, get(:show,
params: { params: {
namespace_id: project.namespace, namespace_id: project.namespace,

View file

@ -44,11 +44,15 @@ describe Projects::RefsController do
end end
it 'renders JS' do it 'renders JS' do
expect(::Gitlab::GitalyClient).to receive(:allow_ref_name_caching).and_call_original
xhr_get(:js) xhr_get(:js)
expect(response).to be_success expect(response).to be_success
end end
it 'renders JSON' do it 'renders JSON' do
expect(::Gitlab::GitalyClient).to receive(:allow_ref_name_caching).and_call_original
xhr_get(:json) xhr_get(:json)
expect(response).to be_success expect(response).to be_success