Gitaly N+1 queries in /api/:version/projects/:id/issues/:issue_iid/related_merge_requests
As seen in https://log.gitlab.net/goto/db3b3ba9a518f1b7731d47ad9980f2cc:
318 Gitaly calls here:
["lib/gitlab/gitaly_client/commit_service.rb:236:in `list_commits_by_oid'",
"lib/gitlab/git/commit.rb:154:in `block in batch_by_oid'",
"lib/gitlab/git/wraps_gitaly_errors.rb:7:in `wrapped_gitaly_errors'",
"lib/gitlab/git/commit.rb:153:in `batch_by_oid'",
"lib/gitlab/git/rugged_impl/commit.rb:50:in `batch_by_oid'",
"app/models/repository.rb:127:in `commits_by'",
"app/models/project.rb:731:in `commits_by'",
"lib/banzai/filter/commit_reference_filter.rb:73:in `parent_records'",
"lib/banzai/filter/abstract_reference_filter.rb:357:in `block in records_per_parent'",
"lib/banzai/filter/abstract_reference_filter.rb:354:in `each'",
"lib/banzai/filter/abstract_reference_filter.rb:354:in `records_per_parent'",
"lib/banzai/filter/commit_reference_filter.rb:24:in `find_object'",
"lib/banzai/filter/abstract_reference_filter.rb:85:in `block in find_object_cached'",
"lib/banzai/request_store_reference_cache.rb:13:in `block in cached_call'",
"lib/banzai/request_store_reference_cache.rb:23:in `get_or_set_cache'",
"lib/banzai/request_store_reference_cache.rb:13:in `cached_call'",
"lib/banzai/filter/abstract_reference_filter.rb:84:in `find_object_cached'",
"lib/banzai/filter/abstract_reference_filter.rb:184:in `block in object_link_filter'",
"lib/banzai/filter/commit_reference_filter.rb:17:in `block in references_in'",
"lib/banzai/filter/commit_reference_filter.rb:16:in `gsub'",
"lib/banzai/filter/commit_reference_filter.rb:16:in `references_in'",
"lib/banzai/filter/abstract_reference_filter.rb:64:in `references_in'",
"lib/banzai/filter/abstract_reference_filter.rb:170:in `object_link_filter'",
"lib/banzai/filter/abstract_reference_filter.rb:121:in `block (2 levels) in call'",
"lib/banzai/filter/reference_filter.rb:120:in `replace_text_when_pattern_matches'",
"lib/banzai/filter/abstract_reference_filter.rb:120:in `block in call'",
"lib/banzai/filter/abstract_reference_filter.rb:118:in `each'",
"lib/banzai/filter/abstract_reference_filter.rb:118:in `call'",
"lib/banzai/pipeline/base_pipeline.rb:23:in `block (2 levels) in singleton class'",
"lib/banzai/renderer.rb:130:in `render_result'",
"lib/banzai/renderer.rb:161:in `block in cacheless_render'",
"lib/banzai/renderer.rb:160:in `cacheless_render'",
"lib/banzai/renderer.rb:52:in `cacheless_render_field'",
"app/models/concerns/cache_markdown_field.rb:49:in `block in refresh_markdown_cache'",
"app/models/concerns/cache_markdown_field.rb:46:in `map'",
"app/models/concerns/cache_markdown_field.rb:46:in `refresh_markdown_cache'",
"app/models/concerns/cache_markdown_field.rb:95:in `updated_cached_html_for'",
"app/models/concerns/mentionable.rb:66:in `block in all_references'",
"app/models/concerns/mentionable.rb:58:in `each'",
"app/models/concerns/mentionable.rb:58:in `all_references'",
"app/models/concerns/mentionable.rb:28:in `block (2 levels) in <module:Mentionable>'",
"app/models/concerns/participable.rb:86:in `instance_exec'",
"app/models/concerns/participable.rb:86:in `block in raw_participants'",
"app/models/concerns/participable.rb:84:in `each'",
"app/models/concerns/participable.rb:84:in `raw_participants'",
"app/models/concerns/participable.rb:67:in `block in all_participants'",
"app/models/concerns/participable.rb:60:in `participants'",
"app/models/concerns/issuable.rb:321:in `subscribed_without_subscriptions?'",
"app/models/concerns/subscribable.rb:23:in `subscribed?'",
"lib/api/entities.rb:775:in `block in <class:MergeRequest>'",
"ee/lib/gitlab/ip_address_state.rb:10:in `with'",
"ee/lib/omni_auth/strategies/group_saml.rb:39:in `other_phase'",
"ee/lib/gitlab/jira/middleware.rb:17:in `call'",
"(irb):8:in `call'",
"(irb):44:in `block in irb_binding'",
"(irb):44:in `irb_binding'"]
Another 129 here:
["lib/gitlab/gitaly_client/commit_service.rb:463:in `call_find_commit'",
"lib/gitlab/gitaly_client/commit_service.rb:288: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:1117:in `find_commit'",
"app/models/repository.rb:113:in `commit'",
"app/models/project.rb:723:in `commit'",
"app/models/commit_range.rb:75:in `initialize'",
"lib/banzai/filter/commit_range_reference_filter.rb:30:in `new'",
"lib/banzai/filter/commit_range_reference_filter.rb:30:in `find_object'",
"lib/banzai/filter/abstract_reference_filter.rb:85:in `block in find_object_cached'",
"lib/banzai/request_store_reference_cache.rb:13:in `block in cached_call'",
"lib/banzai/request_store_reference_cache.rb:23:in `get_or_set_cache'",
"lib/banzai/request_store_reference_cache.rb:13:in `cached_call'",
"lib/banzai/filter/abstract_reference_filter.rb:84:in `find_object_cached'",
"lib/banzai/filter/abstract_reference_filter.rb:184:in `block in object_link_filter'",
"lib/banzai/filter/commit_range_reference_filter.rb:17:in `block in references_in'",
"lib/banzai/filter/commit_range_reference_filter.rb:16:in `gsub'",
"lib/banzai/filter/commit_range_reference_filter.rb:16:in `references_in'",
"lib/banzai/filter/abstract_reference_filter.rb:64:in `references_in'",
"lib/banzai/filter/abstract_reference_filter.rb:170:in `object_link_filter'",
"lib/banzai/filter/abstract_reference_filter.rb:121:in `block (2 levels) in call'",
"lib/banzai/filter/reference_filter.rb:120:in `replace_text_when_pattern_matches'",
"lib/banzai/filter/abstract_reference_filter.rb:120:in `block in call'",
"lib/banzai/filter/abstract_reference_filter.rb:118:in `each'",
"lib/banzai/filter/abstract_reference_filter.rb:118:in `call'",
"lib/banzai/pipeline/base_pipeline.rb:23:in `block (2 levels) in singleton class'",
"lib/banzai/renderer.rb:130:in `render_result'",
"lib/banzai/renderer.rb:161:in `block in cacheless_render'",
"lib/banzai/renderer.rb:160:in `cacheless_render'",
"lib/banzai/renderer.rb:52:in `cacheless_render_field'",
"app/models/concerns/cache_markdown_field.rb:49:in `block in refresh_markdown_cache'",
"app/models/concerns/cache_markdown_field.rb:46:in `map'",
"app/models/concerns/cache_markdown_field.rb:46:in `refresh_markdown_cache'",
"app/models/concerns/cache_markdown_field.rb:95:in `updated_cached_html_for'",
"app/models/concerns/mentionable.rb:66:in `block in all_references'",
"app/models/concerns/mentionable.rb:58:in `each'",
"app/models/concerns/mentionable.rb:58:in `all_references'",
"app/models/concerns/mentionable.rb:28:in `block (2 levels) in <module:Mentionable>'",
"app/models/concerns/participable.rb:86:in `instance_exec'",
"app/models/concerns/participable.rb:86:in `block in raw_participants'",
"app/models/concerns/participable.rb:84:in `each'",
"app/models/concerns/participable.rb:84:in `raw_participants'",
"app/models/concerns/participable.rb:67:in `block in all_participants'",
"app/models/concerns/participable.rb:60:in `participants'",
"app/models/concerns/issuable.rb:321:in `subscribed_without_subscriptions?'",
"app/models/concerns/subscribable.rb:23:in `subscribed?'",
"lib/api/entities.rb:775:in `block in <class:MergeRequest>'",
"ee/lib/gitlab/ip_address_state.rb:10:in `with'",
"ee/lib/omni_auth/strategies/group_saml.rb:39:in `other_phase'",
"ee/lib/gitlab/jira/middleware.rb:17:in `call'",
"(irb):8:in `call'",
"(irb):44:in `block in irb_binding'",
"(irb):44:in `irb_binding'"]