Projects::CommitController#show is calling Gitaly n+1 times per request.
Projects::CommitController#show
is calling Gitaly n+1
times per request.
This code needs to be refactored to fetch all required information in a single call.
bundle exec rspec ./spec/features/expand_collapse_diffs_spec.rb:233
This stack is called 13 times out of 30 calls
gitlab/lib/gitlab/gitaly_client.rb:97:in `migrate'
gitlab/lib/gitlab/git/blob.rb:19:in `find'
gitlab/app/models/repository.rb:465:in `blob_at'
gitlab/lib/gitlab/diff/file.rb:96:in `new_blob'
gitlab/lib/gitlab/diff/file.rb:113:in `blob'
gitlab/app/views/projects/diffs/_file.html.haml:9:in `_app_views_projects_diffs__file_html_haml___1902821180744127929_70325942458420'
gitlab/app/views/projects/diffs/_diffs.html.haml:28:in `_app_views_projects_diffs__diffs_html_haml___475500412452731059_70325921159160'
gitlab/app/views/projects/commit/show.html.haml:17:in `_app_views_projects_commit_show_html_haml__941835234909502331_70325582004300'
gitlab/app/controllers/projects/commit_controller.rb:22:in `show'
gitlab/lib/gitlab/i18n.rb:46:in `with_locale'
gitlab/lib/gitlab/i18n.rb:52:in `with_user_locale'
gitlab/app/controllers/application_controller.rb:326:in `set_locale'
gitlab/lib/gitlab/middleware/multipart.rb:93:in `call'
gitlab/lib/gitlab/request_profiler/middleware.rb:14:in `call'
gitlab/lib/gitlab/middleware/go.rb:16:in `call'
gitlab/lib/gitlab/etag_caching/middleware.rb:11:in `call'
gitlab/lib/gitlab/request_context.rb:18:in `call'
gitlab/config/initializers/fix_local_cache_middleware.rb:9:in `call'
gitlab/lib/gitlab/middleware/static.rb:9:in `call'
gitlab/lib/gitlab/testing/request_blocker_middleware.rb:36:in `call'
gitlab/lib/gitlab/metrics/requests_rack_middleware.rb:27:in `call'
This is about the TreeEntry RPC.
Edited by Jacob Vosmaer