Avoid loading pipeline status in search results

This improves the performance of search, since the pipeline status
is not displayed.

Identified in https://gitlab.com/gitlab-org/gitlab-ce/issues/56627
This commit is contained in:
Stan Hu 2019-06-27 00:00:01 -07:00
parent edcd28ca44
commit 80e6e75c9f
3 changed files with 19 additions and 1 deletions

View File

@ -28,7 +28,7 @@
.js-projects-list-holder
- if any_projects?(projects)
- load_pipeline_status(projects)
- load_pipeline_status(projects) if pipeline_status
%ul.projects-list{ class: css_classes }
- projects.each_with_index do |project, i|
- css_class = (i >= projects_limit) || project.pending_delete? ? 'hide' : nil

View File

@ -0,0 +1,5 @@
---
title: Avoid loading pipeline status in search results
merge_request: 30111
author:
type: performance

View File

@ -35,6 +35,19 @@ describe SearchController do
end
end
context 'global search' do
render_views
it 'omits pipeline status from load' do
project = create(:project, :public)
expect(Gitlab::Cache::Ci::ProjectPipelineStatus).not_to receive(:load_in_batch_for_projects)
get :show, params: { scope: 'projects', search: project.name }
expect(assigns[:search_objects].first).to eq project
end
end
it 'finds issue comments' do
project = create(:project, :public)
note = create(:note_on_issue, project: project)