diff options
author | Yorick Peterse <yorickpeterse@gmail.com> | 2016-10-06 19:57:16 +0000 |
---|---|---|
committer | Yorick Peterse <yorickpeterse@gmail.com> | 2016-10-06 19:57:16 +0000 |
commit | 6c405b951ead1bd58a64dd4f5e713abaada6dffc (patch) | |
tree | 277ff9a0503288b3e02fb12a7de0b92b2b0e6e22 | |
parent | c230946e32ab4a0f33034675051d4fd61b5095d4 (diff) | |
parent | aada01030cd23719a54a4e499b72c12f95ce0d24 (diff) | |
download | gitlab-ce-6c405b951ead1bd58a64dd4f5e713abaada6dffc.tar.gz |
Merge branch 'sh-fix-issue-perf-order-by-issue' into 'master'
Improve issue load time performance by avoiding ORDER BY in find_by call
See merge request !6724
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | app/controllers/projects/issues_controller.rb | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/CHANGELOG b/CHANGELOG index 8a3e04b91c7..4e5e02095d7 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,6 +3,7 @@ Please view this file on the master branch, on stable branches it's out of date. v 8.13.0 (unreleased) - Update runner version only when updating contacted_at - Add link from system note to compare with previous version + - Improve issue load time performance by avoiding ORDER BY in find_by call - Use gitlab-shell v3.6.2 (GIT TRACE logging) - Fix centering of custom header logos (Ashley Dumaine) - AbstractReferenceFilter caches project_refs on RequestStore when active diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb index ef13e0677d2..96041b07647 100644 --- a/app/controllers/projects/issues_controller.rb +++ b/app/controllers/projects/issues_controller.rb @@ -159,7 +159,8 @@ class Projects::IssuesController < Projects::ApplicationController protected def issue - @noteable = @issue ||= @project.issues.find_by(iid: params[:id]) || redirect_old + # The Sortable default scope causes performance issues when used with find_by + @noteable = @issue ||= @project.issues.where(iid: params[:id]).reorder(nil).take || redirect_old end alias_method :subscribable_resource, :issue alias_method :issuable, :issue |