Merge branch 'sh-fix-nplusone-issues' into 'master'

Fix N+1 Gitaly calls in /api/v4/projects/:id/issues

See merge request gitlab-org/gitlab-ce!32171
This commit is contained in:
Mayra Cabrera 2019-08-26 17:51:59 +00:00
commit bbd39021c3
4 changed files with 15 additions and 2 deletions

View file

@ -0,0 +1,5 @@
---
title: Fix N+1 Gitaly calls in /api/v4/projects/:id/issues
merge_request: 32171
author:
type: performance

View file

@ -284,7 +284,6 @@ Example response:
"award_emoji":"http://example.com/api/v4/projects/4/issues/41/award_emoji",
"project":"http://example.com/api/v4/projects/4"
},
"subscribed": false,
"task_completion_status":{
"count":0,
"completed_count":0

View file

@ -163,7 +163,8 @@ module API
with_labels_details: declared_params[:with_labels_details],
current_user: current_user,
project: user_project,
issuable_metadata: issuable_meta_data(issues, 'Issue', current_user)
issuable_metadata: issuable_meta_data(issues, 'Issue', current_user),
include_subscribed: false
}
present issues, options

View file

@ -446,6 +446,14 @@ describe API::Issues do
expect_paginated_array_response([closed_issue.id, confidential_issue.id, issue.id])
end
it 'exposes known attributes' do
get api("#{base_url}/issues", user)
expect(response).to have_gitlab_http_status(200)
expect(json_response.last.keys).to include(*%w(id iid project_id title description))
expect(json_response.last).not_to have_key('subscribed')
end
context 'issues_statistics' do
context 'no state is treated as all state' do
let(:params) { {} }