Gitaly N+1 call in Projects::MergeRequests::DiffsController

This is from fdroid/fdroiddata!2668 (diffs):

3,672 Gitaly calls, mostly to FindCommit for the same ref:

[
  "lib/gitlab/gitaly_client.rb:169:in `call'",
  "lib/gitlab/gitaly_client/commit_service.rb:438:in `call_find_commit'",
  "lib/gitlab/gitaly_client/commit_service.rb:292:in `find_commit'",
  "lib/gitlab/git/commit.rb:75:in `block in find_commit'",
  "lib/gitlab/git/wraps_gitaly_errors.rb:7:in `wrapped_gitaly_errors'",
  "lib/gitlab/git/commit.rb:74:in `find_commit'",
  "lib/gitlab/git/rugged_impl/commit.rb:41:in `find_commit'",
  "lib/gitlab/git/commit.rb:66:in `find'",
  "app/models/repository.rb:1142:in `find_commit'",
  "app/models/repository.rb:115:in `commit'",
  "app/models/merge_request.rb:1195:in `merge_ref_head'",
  "app/models/merge_request.rb:877:in `diffable_merge_ref?'",
  "app/serializers/merge_request_diff_entity.rb:40:in `block in <class:MergeRequestDiffEntity>'",
  "app/serializers/base_serializer.rb:16:in `represent'",
  "app/controllers/projects/merge_requests/diffs_controller.rb:42:in `diffs_metadata'",
  "ee/lib/gitlab/ip_address_state.rb:10:in `with'",
  "ee/app/controllers/ee/application_controller.rb:43:in `set_current_ip_address'",
  "app/controllers/application_controller.rb:479:in `set_current_admin'",
  "lib/gitlab/session.rb:11:in `with_session'",
  "app/controllers/application_controller.rb:470:in `set_session_storage'",
  "app/controllers/application_controller.rb:464:in `set_locale'",
  "lib/gitlab/error_tracking.rb:48:in `with_context'",
  "app/controllers/application_controller.rb:559:in `sentry_context'",
  "lib/gitlab/application_context.rb:52:in `block in use'",
  "lib/gitlab/application_context.rb:52:in `use'",
  "lib/gitlab/application_context.rb:20:in `with_context'",
  "app/controllers/application_controller.rb:455:in `set_current_context'",
  "ee/lib/omni_auth/strategies/group_saml.rb:41:in `other_phase'",
  "ee/lib/gitlab/jira/middleware.rb:19:in `call'"
]

merge_requests_2668_perf_bar_1588999456967.json

Edited by Stan Hu