-
- Downloads
Fix Gitaly N+1 calls with listing issues/MRs via API
In GitLab 9.0, https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9661 removed the `subscribed` flag from the API when the user requested a list of issues or merge requests since calculating this value triggers extensive Markdown processing. In GitLab 12.0 via a4fbf39e, we accidentally reintroduced this performance regression by changing `IssueBasic` to `Issue` in `entities.rb`. This showed up as a Gitaly N+1 issue since the Markdown processing would attempt to extract a commit if it detected a regex that matched a commit. We restore the prior behavior by once again removing the `subscribed` flag for the bulk list of issues and merge requests and add a test to ensure they aren't reintroduced. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/66202
Showing
- changelogs/unreleased/sh-fix-issues-api-gitaly-nplusone.yml 5 additions, 0 deletionschangelogs/unreleased/sh-fix-issues-api-gitaly-nplusone.yml
- doc/api/issues.md 0 additions, 2 deletionsdoc/api/issues.md
- lib/api/entities.rb 4 additions, 1 deletionlib/api/entities.rb
- lib/api/issues.rb 4 additions, 2 deletionslib/api/issues.rb
- spec/requests/api/issues/get_group_issues_spec.rb 8 additions, 0 deletionsspec/requests/api/issues/get_group_issues_spec.rb
- spec/requests/api/issues/get_project_issues_spec.rb 1 addition, 0 deletionsspec/requests/api/issues/get_project_issues_spec.rb
- spec/requests/api/issues/issues_spec.rb 4 additions, 0 deletionsspec/requests/api/issues/issues_spec.rb
Please register or sign in to comment