N+1 SQL queries in PipelinesController#index.json loading job artifacts
!21553 (merged) created an N+1 SQL load issue as seen in https://gitlab.com/gitlab-org/gitlab/pipelines:
SELECT "ci_job_artifacts".* FROM "ci_job_artifacts" WHERE "ci_job_artifacts"."job_id" = 387628716 AND "ci_job_artifacts"."file_type" = 1 LIMIT 1
[
"app/models/ci/build.rb:595:in `artifacts_file'",
"app/models/ci/build.rb:723:in `has_expiring_archive_artifacts?'",
"app/serializers/build_artifact_entity.rb:17:in `block in <class:BuildArtifactEntity>'",
"app/serializers/base_serializer.rb:16:in `represent'",
"app/serializers/concerns/with_pagination.rb:21:in `represent'",
"app/serializers/pipeline_serializer.rb:21:in `represent'",
"app/controllers/projects/pipelines_controller.rb:182:in `serialize_pipelines'",
"app/controllers/projects/pipelines_controller.rb:42:in `block (2 levels) in index'",
"app/controllers/projects/pipelines_controller.rb:36:in `index'",
"app/controllers/application_controller.rb:541:in `block in allow_gitaly_ref_name_caching'",
"lib/gitlab/gitaly_client.rb:313:in `allow_ref_name_caching'",
"app/controllers/application_controller.rb:540:in `allow_gitaly_ref_name_caching'",
"ee/lib/gitlab/ip_address_state.rb:10:in `with'",
"ee/app/controllers/ee/application_controller.rb:43:in `set_current_ip_address'",
"lib/gitlab/session.rb:11:in `with_session'",
"app/controllers/application_controller.rb:458:in `set_session_storage'",
"app/controllers/application_controller.rb:452:in `set_locale'",
"lib/gitlab/error_tracking.rb:34:in `with_context'",
"app/controllers/application_controller.rb:536:in `sentry_context'",
"ee/lib/omni_auth/strategies/group_saml.rb:41:in `other_phase'",
"ee/lib/gitlab/jira/middleware.rb:19:in `call'"
]
!22189 (merged) attempts to fix a number of these queries, but I don't think I've accounted for this one.
/cc: @iamricecake
Edited by Stan Hu