Skip to content

Resolve "API: `jobs/request`: the`present_build!` likely has N+1 problem" [RUN ALL RSPEC] [RUN AS-IF-FOSS]

What does this MR do?

Prevent N+1 queries when looking up ::Ci::JobArtifacts for the jobs/request API endpoint by preloading the job_artifacts_archive objects when presenting a ::Ci::Build.

It also memoizes the dependencies in order to prevent CACHE queries.

Method to reproduce:

[60] pry(main)> RequestStore.clear!
=> {}
[61] pry(main)> ActiveRecord::Base.connection.clear_query_cache
=> {}
[62] pry(main)> RequestStore.begin!
=> true
[63] pry(main)> ActiveRecord::Base.connection.enable_query_cache!
=> true
[64] pry(main)> ::API::Entities::JobRequest::Response.new(::Ci::BuildRunnerPresenter.new(Ci::Build.last)).to_json
Before SQL Log
  Ci::Build Load (2.5ms)  SELECT "ci_builds".* FROM "ci_builds" WHERE "ci_builds"."type" = 'Ci::Build' ORDER BY "ci_builds"."id" DESC LIMIT 1 /*application:console,line:(pry):75:in `<main>'*/
  Project Load (2.5ms)  SELECT "projects".* FROM "projects" WHERE "projects"."id" = 6 LIMIT 1 /*application:console,line:/ee/app/models/ee/ci/build.rb:135:in `ci_secrets_management_available?'*/
  License Load (0.3ms)  SELECT "licenses".* FROM "licenses" ORDER BY "licenses"."id" DESC LIMIT 100 /*application:console,line:/ee/app/models/license.rb:297:in `load_license'*/
  ApplicationSetting Load (1.6ms)  SELECT "application_settings".* FROM "application_settings" ORDER BY "application_settings"."id" DESC LIMIT 1 /*application:console,line:/app/models/concerns/cacheable_attributes.rb:19:in `current_without_cache'*/
  Namespace Load (1.4ms)  SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."id" = 26 LIMIT 1 /*application:console,line:/ee/app/models/ee/project.rb:835:in `load_licensed_feature_available'*/
Creating scope :extended. Overwriting existing method GitlabSubscription.extended.
  Plan Load (0.8ms)  SELECT DISTINCT "plans".* FROM "plans" INNER JOIN "gitlab_subscriptions" ON "gitlab_subscriptions"."hosted_plan_id" = "plans"."id" WHERE "plans"."name" IN ('bronze', 'silver', 'premium', 'gold', 'ultimate') AND "gitlab_subscriptions"."namespace_id" = 26 /*application:console,line:/ee/app/models/ee/namespace.rb:163:in `map'*/
  Route Load (0.8ms)  SELECT "routes".* FROM "routes" WHERE "routes"."source_id" = 6 AND "routes"."source_type" = 'Project' LIMIT 1 /*application:console,line:/app/models/concerns/routable.rb:103:in `full_path'*/
Creating scope :without_statuses. Overwriting existing method Ci::Pipeline.without_statuses.
  Ci::Pipeline Load (1.6ms)  SELECT "ci_pipelines".* FROM "ci_pipelines" WHERE "ci_pipelines"."id" = 50 LIMIT 1 /*application:console,line:/app/models/commit_status.rb:23:in `sha'*/
  CACHE Project Load (0.0ms)  SELECT "projects".* FROM "projects" WHERE "projects"."id" = 6 LIMIT 1  [["id", 6], ["LIMIT", 1]]
  CACHE Route Load (0.0ms)  SELECT "routes".* FROM "routes" WHERE "routes"."source_id" = 6 AND "routes"."source_type" = 'Project' LIMIT 1  [["source_id", 6], ["source_type", "Project"], ["LIMIT", 1]]
  CACHE Namespace Load (0.0ms)  SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."id" = 26 LIMIT 1  [["id", 26], ["LIMIT", 1]]
  Route Load (0.3ms)  SELECT "routes".* FROM "routes" WHERE "routes"."source_id" = 26 AND "routes"."source_type" = 'Namespace' LIMIT 1 /*application:console,line:/app/models/concerns/routable.rb:103:in `full_path'*/
  CACHE Route Load (0.0ms)  SELECT "routes".* FROM "routes" WHERE "routes"."source_id" = 26 AND "routes"."source_type" = 'Namespace' LIMIT 1  [["source_id", 26], ["source_type", "Namespace"], ["LIMIT", 1]]
  DeployToken Load (0.6ms)  SELECT "deploy_tokens".* FROM "deploy_tokens" INNER JOIN "project_deploy_tokens" ON "deploy_tokens"."id" = "project_deploy_tokens"."deploy_token_id" WHERE "project_deploy_tokens"."project_id" = 6 AND (revoked = false AND expires_at >= NOW()) AND "deploy_tokens"."name" = 'gitlab-deploy-token' LIMIT 1 /*application:console,line:/app/models/deploy_token.rb:46:in `gitlab_deploy_token'*/
  Ci::BuildMetadata Load (0.5ms)  SELECT "ci_builds_metadata".* FROM "ci_builds_metadata" WHERE "ci_builds_metadata"."build_id" = 849 LIMIT 1 /*application:console,line:/app/models/concerns/ci/metadatable.rb:19:in `metadata_timeout'*/
  User Load (1.8ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 6 LIMIT 1 /*application:console,line:/lib/gitlab/ci/jwt.rb:104:in `user'*/
Creating scope :with_associations. Overwriting existing method Board.with_associations.
  RepositoryLanguage Load (0.5ms)  SELECT "repository_languages".* FROM "repository_languages" WHERE "repository_languages"."project_id" = 6 ORDER BY share DESC /*application:console,line:/app/models/project.rb:2005:in `map'*/
  ProgrammingLanguage Load (0.4ms)  SELECT "programming_languages".* FROM "programming_languages" WHERE "programming_languages"."id" IN (2, 7, 6) /*application:console,line:/app/models/project.rb:2005:in `map'*/
  ProjectFeature Load (0.6ms)  SELECT "project_features".* FROM "project_features" WHERE "project_features"."project_id" = 6 LIMIT 1 /*application:console,line:/app/models/project.rb:394:in `pages_enabled?'*/
  ProjectAutoDevops Load (0.4ms)  SELECT "project_auto_devops".* FROM "project_auto_devops" WHERE "project_auto_devops"."project_id" = 6 LIMIT 1 /*application:console,line:/app/models/project.rb:904:in `auto_devops_enabled?'*/
  RequirementsManagement::Requirement Exists? (0.8ms)  SELECT 1 AS one FROM "requirements" WHERE "requirements"."project_id" = 6 AND "requirements"."state" = 1 LIMIT 1 /*application:console,line:/ee/app/models/ee/project.rb:852:in `block in requirements_ci_variables'*/
  ProtectedBranch Load (0.4ms)  SELECT "protected_branches".* FROM "protected_branches" WHERE "protected_branches"."project_id" = 6 /*application:console,line:/app/models/concerns/protected_ref.rb:66:in `matching'*/
  MergeRequest Load (2.2ms)  SELECT "merge_requests".* FROM "merge_requests" WHERE "merge_requests"."source_project_id" = 6 AND "merge_requests"."source_branch" = 'master' AND ("merge_requests"."state_id" IN (1)) ORDER BY "merge_requests"."id" DESC LIMIT 4 /*application:console,line:/app/models/ci/pipeline.rb:901:in `block in open_merge_requests_refs'*/
  Project Load (0.6ms)  SELECT "projects".* FROM "projects" WHERE "projects"."id" = 6 /*application:console,line:/app/models/ci/pipeline.rb:901:in `block in open_merge_requests_refs'*/
  Clusters::Cluster Load (4.1ms)  WITH RECURSIVE "clusters_cte" AS ((SELECT "clusters".*, NULL AS group_parent_id, 0 AS depth FROM "clusters" INNER JOIN "cluster_projects" ON "cluster_projects"."cluster_id" = "clusters"."id" INNER JOIN "projects" ON "projects"."id" = "cluster_projects"."project_id" WHERE "clusters"."management_project_id" = 6 AND "clusters"."cluster_type" = 3 AND "projects"."namespace_id" = 26)
UNION
(SELECT "clusters".*, "projects"."namespace_id" AS group_parent_id, 1 AS depth FROM "projects" LEFT OUTER JOIN "cluster_projects" ON "cluster_projects"."project_id" = "projects"."id" LEFT OUTER JOIN "clusters" ON "clusters"."id" = "cluster_projects"."cluster_id" WHERE "projects"."id" = 6)
UNION
(SELECT "clusters".*, "namespaces"."parent_id" AS group_parent_id, ("clusters_cte"."depth" + 1) FROM "clusters_cte", "namespaces" LEFT OUTER JOIN cluster_groups ON cluster_groups.group_id = namespaces.id LEFT OUTER JOIN clusters ON cluster_groups.cluster_id = clusters.id WHERE "namespaces"."id" = "clusters_cte"."group_parent_id")) SELECT "clusters".* FROM "clusters_cte" "clusters" WHERE (clusters.id IS NOT NULL) AND "clusters"."enabled" = TRUE AND "clusters"."environment_scope" = '*' ORDER BY (CASE clusters.management_project_id
  WHEN 6 THEN 0
  ELSE depth
END) ASC
 LIMIT 1 /*application:console,line:/app/models/concerns/deployment_platform.rb:32:in `find_platform_kubernetes_with_cte'*/
  Clusters::Cluster Load (0.4ms)  SELECT "clusters".* FROM "clusters" WHERE "clusters"."cluster_type" = 1 AND "clusters"."enabled" = TRUE AND "clusters"."environment_scope" = '*' ORDER BY "clusters"."id" ASC LIMIT 1 /*application:console,line:/app/models/concerns/deployment_platform.rb:42:in `find_instance_cluster_platform_kubernetes'*/
  Ci::FreezePeriod Load (0.6ms)  SELECT "ci_freeze_periods".* FROM "ci_freeze_periods" WHERE "ci_freeze_periods"."project_id" = 6 ORDER BY "ci_freeze_periods"."created_at" ASC /*application:console,line:/app/models/ci/freeze_period_status.rb:12:in `execute'*/
  Ci::Build Load (1.2ms)  SELECT "ci_builds".* FROM "ci_builds" WHERE "ci_builds"."type" = 'Ci::Build' AND "ci_builds"."commit_id" = 50 AND ("ci_builds"."retried" = FALSE OR "ci_builds"."retried" IS NULL) AND (stage_idx < 3) /*application:console,line:/app/models/ci/build_dependencies.rb:14:in `all'*/
  CACHE Ci::Build Load (0.0ms)  SELECT "ci_builds".* FROM "ci_builds" WHERE "ci_builds"."type" = 'Ci::Build' AND "ci_builds"."commit_id" = 50 AND ("ci_builds"."retried" = FALSE OR "ci_builds"."retried" IS NULL) AND (stage_idx < 3)
  Ci::JobVariable Load (0.7ms)  SELECT "ci_job_variables".* FROM "ci_job_variables" WHERE "ci_job_variables"."job_id" IN (834, 835, 836, 837, 848, 847, 846, 845, 844, 843, 842, 840, 839, 838) AND "ci_job_variables"."source" = 1 /*application:console,line:/lib/gitlab/ci/variables/collection.rb:30:in `block in concat'*/
  CACHE ProtectedBranch Load (0.0ms)  SELECT "protected_branches".* FROM "protected_branches" WHERE "protected_branches"."project_id" = 6  [["project_id", 6]]
  Ci::InstanceVariable Load (0.4ms)  SELECT "ci_instance_variables".* FROM "ci_instance_variables" /*application:console,line:/app/models/ci/instance_variable.rb:44:in `block in cached_data'*/
  Group Load (1.0ms)  SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 26 AND "namespaces"."type" = 'Group' LIMIT 1 /*application:console,line:/app/models/concerns/ci/contextable.rb:89:in `secret_group_variables'*/
  Ci::GroupVariable Load (0.4ms)  SELECT "ci_group_variables".* FROM "ci_group_variables" WHERE "ci_group_variables"."group_id" = 26 /*application:console,line:/app/models/group.rb:798:in `group_by'*/
  Ci::Variable Load (0.4ms)  SELECT "ci_variables".* FROM "ci_variables" WHERE "ci_variables"."project_id" = 6 AND "ci_variables"."environment_scope" = '*' /*application:console,line:/lib/gitlab/ci/variables/collection.rb:30:in `block in concat'*/
  Ci::PipelineVariable Load (0.4ms)  SELECT "ci_pipeline_variables".* FROM "ci_pipeline_variables" WHERE "ci_pipeline_variables"."pipeline_id" = 50 /*application:console,line:/lib/gitlab/ci/variables/collection.rb:30:in `block in concat'*/
  Ci::JobVariable Load (0.3ms)  SELECT "ci_job_variables".* FROM "ci_job_variables" WHERE "ci_job_variables"."job_id" = 849 /*application:console,line:/lib/gitlab/ci/variables/collection.rb:30:in `block in concat'*/
  ProjectCiCdSetting Load (0.4ms)  SELECT "project_ci_cd_settings".* FROM "project_ci_cd_settings" WHERE "project_ci_cd_settings"."project_id" = 6 LIMIT 1 /*application:console,line:/app/models/project.rb:419:in `ci_default_git_depth'*/
  Ci::BuildRunnerSession Load (0.4ms)  SELECT "ci_builds_runner_session".* FROM "ci_builds_runner_session" WHERE "ci_builds_runner_session"."build_id" = 849 LIMIT 1 /*application:console,line:/app/models/ci/build.rb:58:in `runner_session_url'*/
  CACHE Ci::Build Load (0.0ms)  SELECT "ci_builds".* FROM "ci_builds" WHERE "ci_builds"."type" = 'Ci::Build' AND "ci_builds"."commit_id" = 50 AND ("ci_builds"."retried" = FALSE OR "ci_builds"."retried" IS NULL) AND (stage_idx < 3)
  Ci::JobArtifact Load (0.9ms)  SELECT "ci_job_artifacts".* FROM "ci_job_artifacts" WHERE "ci_job_artifacts"."job_id" = 834 AND "ci_job_artifacts"."file_type" = 1 LIMIT 1 /*application:console,line:/app/models/ci/build.rb:622:in `artifacts_file'*/
  Ci::JobArtifact Load (0.4ms)  SELECT "ci_job_artifacts".* FROM "ci_job_artifacts" WHERE "ci_job_artifacts"."job_id" = 835 AND "ci_job_artifacts"."file_type" = 1 LIMIT 1 /*application:console,line:/app/models/ci/build.rb:622:in `artifacts_file'*/
  Ci::JobArtifact Load (0.3ms)  SELECT "ci_job_artifacts".* FROM "ci_job_artifacts" WHERE "ci_job_artifacts"."job_id" = 836 AND "ci_job_artifacts"."file_type" = 1 LIMIT 1 /*application:console,line:/app/models/ci/build.rb:622:in `artifacts_file'*/
  Ci::JobArtifact Load (0.3ms)  SELECT "ci_job_artifacts".* FROM "ci_job_artifacts" WHERE "ci_job_artifacts"."job_id" = 837 AND "ci_job_artifacts"."file_type" = 1 LIMIT 1 /*application:console,line:/app/models/ci/build.rb:622:in `artifacts_file'*/
  Ci::JobArtifact Load (0.3ms)  SELECT "ci_job_artifacts".* FROM "ci_job_artifacts" WHERE "ci_job_artifacts"."job_id" = 848 AND "ci_job_artifacts"."file_type" = 1 LIMIT 1 /*application:console,line:/app/models/ci/build.rb:622:in `artifacts_file'*/
  Ci::JobArtifact Load (0.2ms)  SELECT "ci_job_artifacts".* FROM "ci_job_artifacts" WHERE "ci_job_artifacts"."job_id" = 847 AND "ci_job_artifacts"."file_type" = 1 LIMIT 1 /*application:console,line:/app/models/ci/build.rb:622:in `artifacts_file'*/
  Ci::JobArtifact Load (0.3ms)  SELECT "ci_job_artifacts".* FROM "ci_job_artifacts" WHERE "ci_job_artifacts"."job_id" = 846 AND "ci_job_artifacts"."file_type" = 1 LIMIT 1 /*application:console,line:/app/models/ci/build.rb:622:in `artifacts_file'*/
  Ci::JobArtifact Load (0.2ms)  SELECT "ci_job_artifacts".* FROM "ci_job_artifacts" WHERE "ci_job_artifacts"."job_id" = 845 AND "ci_job_artifacts"."file_type" = 1 LIMIT 1 /*application:console,line:/app/models/ci/build.rb:622:in `artifacts_file'*/
  Ci::JobArtifact Load (0.2ms)  SELECT "ci_job_artifacts".* FROM "ci_job_artifacts" WHERE "ci_job_artifacts"."job_id" = 844 AND "ci_job_artifacts"."file_type" = 1 LIMIT 1 /*application:console,line:/app/models/ci/build.rb:622:in `artifacts_file'*/
  Ci::JobArtifact Load (0.3ms)  SELECT "ci_job_artifacts".* FROM "ci_job_artifacts" WHERE "ci_job_artifacts"."job_id" = 843 AND "ci_job_artifacts"."file_type" = 1 LIMIT 1 /*application:console,line:/app/models/ci/build.rb:622:in `artifacts_file'*/
  Ci::JobArtifact Load (0.3ms)  SELECT "ci_job_artifacts".* FROM "ci_job_artifacts" WHERE "ci_job_artifacts"."job_id" = 842 AND "ci_job_artifacts"."file_type" = 1 LIMIT 1 /*application:console,line:/app/models/ci/build.rb:622:in `artifacts_file'*/
  Ci::JobArtifact Load (0.2ms)  SELECT "ci_job_artifacts".* FROM "ci_job_artifacts" WHERE "ci_job_artifacts"."job_id" = 840 AND "ci_job_artifacts"."file_type" = 1 LIMIT 1 /*application:console,line:/app/models/ci/build.rb:622:in `artifacts_file'*/
  Ci::JobArtifact Load (0.3ms)  SELECT "ci_job_artifacts".* FROM "ci_job_artifacts" WHERE "ci_job_artifacts"."job_id" = 839 AND "ci_job_artifacts"."file_type" = 1 LIMIT 1 /*application:console,line:/app/models/ci/build.rb:622:in `artifacts_file'*/
  Ci::JobArtifact Load (0.2ms)  SELECT "ci_job_artifacts".* FROM "ci_job_artifacts" WHERE "ci_job_artifacts"."job_id" = 838 AND "ci_job_artifacts"."file_type" = 1 LIMIT 1 /*application:console,line:/app/models/ci/build.rb:622:in `artifacts_file'*/
After SQL Log
  Ci::Build Load (0.5ms)  SELECT "ci_builds".* FROM "ci_builds" WHERE "ci_builds"."type" = 'Ci::Build' ORDER BY "ci_builds"."id" DESC LIMIT 1 /*application:console,line:(pry):123:in `<main>'*/
  Project Load (0.6ms)  SELECT "projects".* FROM "projects" WHERE "projects"."id" = 6 LIMIT 1 /*application:console,line:/ee/app/models/ee/ci/build.rb:135:in `ci_secrets_management_available?'*/
  License Load (0.3ms)  SELECT "licenses".* FROM "licenses" ORDER BY "licenses"."id" DESC LIMIT 100 /*application:console,line:/ee/app/models/license.rb:297:in `load_license'*/
  ApplicationSetting Load (0.9ms)  SELECT "application_settings".* FROM "application_settings" ORDER BY "application_settings"."id" DESC LIMIT 1 /*application:console,line:/app/models/concerns/cacheable_attributes.rb:19:in `current_without_cache'*/
  Namespace Load (0.3ms)  SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."id" = 26 LIMIT 1 /*application:console,line:/ee/app/models/ee/project.rb:835:in `load_licensed_feature_available'*/
Creating scope :extended. Overwriting existing method GitlabSubscription.extended.
  Plan Load (0.4ms)  SELECT DISTINCT "plans".* FROM "plans" INNER JOIN "gitlab_subscriptions" ON "gitlab_subscriptions"."hosted_plan_id" = "plans"."id" WHERE "plans"."name" IN ('bronze', 'silver', 'premium', 'gold', 'ultimate') AND "gitlab_subscriptions"."namespace_id" = 26 /*application:console,line:/ee/app/models/ee/namespace.rb:163:in `map'*/
  Route Load (0.4ms)  SELECT "routes".* FROM "routes" WHERE "routes"."source_id" = 6 AND "routes"."source_type" = 'Project' LIMIT 1 /*application:console,line:/app/models/concerns/routable.rb:103:in `full_path'*/
Creating scope :without_statuses. Overwriting existing method Ci::Pipeline.without_statuses.
  Ci::Pipeline Load (0.9ms)  SELECT "ci_pipelines".* FROM "ci_pipelines" WHERE "ci_pipelines"."id" = 50 LIMIT 1 /*application:console,line:/app/models/commit_status.rb:23:in `sha'*/
  CACHE Project Load (0.0ms)  SELECT "projects".* FROM "projects" WHERE "projects"."id" = 6 LIMIT 1  [["id", 6], ["LIMIT", 1]]
  CACHE Route Load (0.0ms)  SELECT "routes".* FROM "routes" WHERE "routes"."source_id" = 6 AND "routes"."source_type" = 'Project' LIMIT 1  [["source_id", 6], ["source_type", "Project"], ["LIMIT", 1]]
  CACHE Namespace Load (0.0ms)  SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."id" = 26 LIMIT 1  [["id", 26], ["LIMIT", 1]]
  Route Load (0.3ms)  SELECT "routes".* FROM "routes" WHERE "routes"."source_id" = 26 AND "routes"."source_type" = 'Namespace' LIMIT 1 /*application:console,line:/app/models/concerns/routable.rb:103:in `full_path'*/
  CACHE Route Load (0.0ms)  SELECT "routes".* FROM "routes" WHERE "routes"."source_id" = 26 AND "routes"."source_type" = 'Namespace' LIMIT 1  [["source_id", 26], ["source_type", "Namespace"], ["LIMIT", 1]]
  DeployToken Load (0.6ms)  SELECT "deploy_tokens".* FROM "deploy_tokens" INNER JOIN "project_deploy_tokens" ON "deploy_tokens"."id" = "project_deploy_tokens"."deploy_token_id" WHERE "project_deploy_tokens"."project_id" = 6 AND (revoked = false AND expires_at >= NOW()) AND "deploy_tokens"."name" = 'gitlab-deploy-token' LIMIT 1 /*application:console,line:/app/models/deploy_token.rb:46:in `gitlab_deploy_token'*/
  Ci::BuildMetadata Load (0.3ms)  SELECT "ci_builds_metadata".* FROM "ci_builds_metadata" WHERE "ci_builds_metadata"."build_id" = 849 LIMIT 1 /*application:console,line:/app/models/concerns/ci/metadatable.rb:19:in `metadata_timeout'*/
  User Load (0.9ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 6 LIMIT 1 /*application:console,line:/lib/gitlab/ci/jwt.rb:104:in `user'*/
Creating scope :with_associations. Overwriting existing method Board.with_associations.
  RepositoryLanguage Load (0.3ms)  SELECT "repository_languages".* FROM "repository_languages" WHERE "repository_languages"."project_id" = 6 ORDER BY share DESC /*application:console,line:/app/models/project.rb:2005:in `map'*/
  ProgrammingLanguage Load (0.3ms)  SELECT "programming_languages".* FROM "programming_languages" WHERE "programming_languages"."id" IN (2, 7, 6) /*application:console,line:/app/models/project.rb:2005:in `map'*/
  ProjectFeature Load (0.4ms)  SELECT "project_features".* FROM "project_features" WHERE "project_features"."project_id" = 6 LIMIT 1 /*application:console,line:/app/models/project.rb:394:in `pages_enabled?'*/
  ProjectAutoDevops Load (0.3ms)  SELECT "project_auto_devops".* FROM "project_auto_devops" WHERE "project_auto_devops"."project_id" = 6 LIMIT 1 /*application:console,line:/app/models/project.rb:904:in `auto_devops_enabled?'*/
  RequirementsManagement::Requirement Exists? (0.6ms)  SELECT 1 AS one FROM "requirements" WHERE "requirements"."project_id" = 6 AND "requirements"."state" = 1 LIMIT 1 /*application:console,line:/ee/app/models/ee/project.rb:852:in `block in requirements_ci_variables'*/
  ProtectedBranch Load (0.3ms)  SELECT "protected_branches".* FROM "protected_branches" WHERE "protected_branches"."project_id" = 6 /*application:console,line:/app/models/concerns/protected_ref.rb:66:in `matching'*/
  MergeRequest Load (1.7ms)  SELECT "merge_requests".* FROM "merge_requests" WHERE "merge_requests"."source_project_id" = 6 AND "merge_requests"."source_branch" = 'master' AND ("merge_requests"."state_id" IN (1)) ORDER BY "merge_requests"."id" DESC LIMIT 4 /*application:console,line:/app/models/ci/pipeline.rb:901:in `block in open_merge_requests_refs'*/
  Project Load (1.7ms)  SELECT "projects".* FROM "projects" WHERE "projects"."id" = 6 /*application:console,line:/app/models/ci/pipeline.rb:901:in `block in open_merge_requests_refs'*/
  Clusters::Cluster Load (4.2ms)  WITH RECURSIVE "clusters_cte" AS ((SELECT "clusters".*, NULL AS group_parent_id, 0 AS depth FROM "clusters" INNER JOIN "cluster_projects" ON "cluster_projects"."cluster_id" = "clusters"."id" INNER JOIN "projects" ON "projects"."id" = "cluster_projects"."project_id" WHERE "clusters"."management_project_id" = 6 AND "clusters"."cluster_type" = 3 AND "projects"."namespace_id" = 26)
UNION
(SELECT "clusters".*, "projects"."namespace_id" AS group_parent_id, 1 AS depth FROM "projects" LEFT OUTER JOIN "cluster_projects" ON "cluster_projects"."project_id" = "projects"."id" LEFT OUTER JOIN "clusters" ON "clusters"."id" = "cluster_projects"."cluster_id" WHERE "projects"."id" = 6)
UNION
(SELECT "clusters".*, "namespaces"."parent_id" AS group_parent_id, ("clusters_cte"."depth" + 1) FROM "clusters_cte", "namespaces" LEFT OUTER JOIN cluster_groups ON cluster_groups.group_id = namespaces.id LEFT OUTER JOIN clusters ON cluster_groups.cluster_id = clusters.id WHERE "namespaces"."id" = "clusters_cte"."group_parent_id")) SELECT "clusters".* FROM "clusters_cte" "clusters" WHERE (clusters.id IS NOT NULL) AND "clusters"."enabled" = TRUE AND "clusters"."environment_scope" = '*' ORDER BY (CASE clusters.management_project_id
  WHEN 6 THEN 0
  ELSE depth
END) ASC
 LIMIT 1 /*application:console,line:/app/models/concerns/deployment_platform.rb:32:in `find_platform_kubernetes_with_cte'*/
  Clusters::Cluster Load (0.3ms)  SELECT "clusters".* FROM "clusters" WHERE "clusters"."cluster_type" = 1 AND "clusters"."enabled" = TRUE AND "clusters"."environment_scope" = '*' ORDER BY "clusters"."id" ASC LIMIT 1 /*application:console,line:/app/models/concerns/deployment_platform.rb:42:in `find_instance_cluster_platform_kubernetes'*/
  Ci::FreezePeriod Load (0.3ms)  SELECT "ci_freeze_periods".* FROM "ci_freeze_periods" WHERE "ci_freeze_periods"."project_id" = 6 ORDER BY "ci_freeze_periods"."created_at" ASC /*application:console,line:/app/models/ci/freeze_period_status.rb:12:in `execute'*/
  Ci::Build Load (1.3ms)  SELECT "ci_builds".* FROM "ci_builds" WHERE "ci_builds"."type" = 'Ci::Build' AND "ci_builds"."commit_id" = 50 AND ("ci_builds"."retried" = FALSE OR "ci_builds"."retried" IS NULL) AND (stage_idx < 3) /*application:console,line:/app/models/ci/build_dependencies.rb:14:in `all'*/
  Ci::JobVariable Load (0.6ms)  SELECT "ci_job_variables".* FROM "ci_job_variables" WHERE "ci_job_variables"."job_id" IN (834, 835, 836, 837, 848, 847, 846, 845, 844, 843, 842, 840, 839, 838) AND "ci_job_variables"."source" = 1 /*application:console,line:/lib/gitlab/ci/variables/collection.rb:30:in `block in concat'*/
  CACHE ProtectedBranch Load (0.0ms)  SELECT "protected_branches".* FROM "protected_branches" WHERE "protected_branches"."project_id" = 6  [["project_id", 6]]
  Ci::InstanceVariable Load (0.4ms)  SELECT "ci_instance_variables".* FROM "ci_instance_variables" /*application:console,line:/app/models/ci/instance_variable.rb:44:in `block in cached_data'*/
  Group Load (0.5ms)  SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 26 AND "namespaces"."type" = 'Group' LIMIT 1 /*application:console,line:/app/models/concerns/ci/contextable.rb:89:in `secret_group_variables'*/
  Ci::GroupVariable Load (0.4ms)  SELECT "ci_group_variables".* FROM "ci_group_variables" WHERE "ci_group_variables"."group_id" = 26 /*application:console,line:/app/models/group.rb:798:in `group_by'*/
  Ci::Variable Load (0.5ms)  SELECT "ci_variables".* FROM "ci_variables" WHERE "ci_variables"."project_id" = 6 AND "ci_variables"."environment_scope" = '*' /*application:console,line:/lib/gitlab/ci/variables/collection.rb:30:in `block in concat'*/
  Ci::PipelineVariable Load (0.4ms)  SELECT "ci_pipeline_variables".* FROM "ci_pipeline_variables" WHERE "ci_pipeline_variables"."pipeline_id" = 50 /*application:console,line:/lib/gitlab/ci/variables/collection.rb:30:in `block in concat'*/
  Ci::JobVariable Load (0.3ms)  SELECT "ci_job_variables".* FROM "ci_job_variables" WHERE "ci_job_variables"."job_id" = 849 /*application:console,line:/lib/gitlab/ci/variables/collection.rb:30:in `block in concat'*/
  ProjectCiCdSetting Load (0.3ms)  SELECT "project_ci_cd_settings".* FROM "project_ci_cd_settings" WHERE "project_ci_cd_settings"."project_id" = 6 LIMIT 1 /*application:console,line:/app/models/project.rb:419:in `ci_default_git_depth'*/
  Ci::BuildRunnerSession Load (0.3ms)  SELECT "ci_builds_runner_session".* FROM "ci_builds_runner_session" WHERE "ci_builds_runner_session"."build_id" = 849 LIMIT 1 /*application:console,line:/app/models/ci/build.rb:58:in `runner_session_url'*/
  Ci::JobArtifact Load (0.8ms)  SELECT "ci_job_artifacts".* FROM "ci_job_artifacts" WHERE "ci_job_artifacts"."file_type" = 1 AND "ci_job_artifacts"."job_id" IN (834, 835, 836, 837, 848, 847, 846, 845, 844, 843, 842, 840, 839, 838) /*application:console,line:/app/presenters/ci/build_runner_presenter.rb:61:in `all_dependencies'*/

Related to #324370 (closed)

Edited by 🤖 GitLab Bot 🤖

Merge request reports