Projects::Settings::CiCdController#show times out with database query

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

@poffey21 got a 500 error loading this page:

https://gitlab.com/gitlab-com/customer-success/solutions-architecture/playground/data-seeder/-/settings/ci_cd

https://log.gprd.gitlab.net/app/r/s/Il8sO shows a database timeout for this query:

/*application:web,correlation_id:01JN71XA7JT2K5RN9KK1Q3W2VQ,endpoint_id:Projects::Settings::CiCdController#show,db_config_database:gitlabhq_production,db_config_name:ci_replica*/
SELECT $1 AS one
FROM (
        (SELECT "ci_runners".*
         FROM "ci_runners"
         INNER JOIN "ci_runner_projects" "runner_projects" ON "runner_projects"."runner_id" = "ci_runners"."id"
         WHERE "runner_projects"."project_id" IN ($2,
                                                  $3,
                                                  $4,
                                                  $5,
                                                  $6,
                                                  $7,
                                                  $8,
                                                  $9,
                                                  $10,
                                                  $11,
                                                  $12,
                                                  $13,
                                                  $14,
                                                  $15,
                                                  $16,
                                                  $17,
                                                  $18,
                                                  $19,
                                                  $20,
                                                  $21,
                                                  $22,
                                                  $23,
                                                  $24,
                                                  $25,
                                                  $26,
                                                  $27,
                                                  $28,
                                                  $29,
                                                  $30,
                                                  $31,
                                                  $32,
                                                  $33,
                                                  $34,
                                                  $35,
                                                  $36,
                                                  $37,
                                                  $38,
                                                  $39,
                                                  $40,
                                                  $41,
                                                  $42,
                                                  $43,
                                                  $44,
                                                  $45,
                                                  $46,
                                                  $47,
                                                  $48,
                                                  $49,
                                                  $50,
                                                  $51,
                                                  $52,
                                                  $53,
                                                  $54,
                                                  $55,
                                                  $56,
                                                  $57,
                                                  $58,
                                                  $59,
                                                  $60,
                                                  $61,
                                                  $62,
                                                  $63,
                                                  $64,
                                                  $65,
                                                  $66,
                                                  $67,
                                                  $68,
                                                  $69,
                                                  $70,
                                                  $71,
                                                  $72,
                                                  $73,
                                                  $74,
                                                  $75,
                                                  $76,
                                                  $77,
                                                  $78,
                                                  $79,
                                                  $80,
                                                  $81,
                                                  $82,
                                                  $83,
                                                  $84,
                                                  $85,
                                                  $86,
                                                  $87,
                                                  $88,
                                                  $89,
                                                  $90,
                                                  $91,
                                                  $92,
                                                  $93,
                                                  $94,
                                                  $95,
                                                  $96,
                                                  $97,
                                                  $98,
                                                  $99,
                                                  $100,
                                                  $101,
                                                  $102,
                                                  $103,
                                                  $104,
                                                  $105,
                                                  $106,
                                                  $107,
                                                  $108,
                                                  $109,
                                                  $110,
                                                  $111,
                                                  $112,
                                                  $113,
                                                  $114,
                                                  $115,
                                                  $116,
                                                  $117,
                                                  $118,
                                                  $119,
                                                  $120,
                                                  $121,
                                                  $122,
                                                  $123,
                                                  $124,
                                                  $125,
                                                  $126,
                                                  $127,
                                                  $128,
                                                  $129,
                                                  $130,
                                                  $131,
                                                  $132,
                                                  $133,
                                                  $134,
                                                  $135,
                                                  $136,
                                                  $137,
                                                  $138,
                                                  $139,
                                                  $140,
                                                  $141,
                                                  $142,
                                                  $143,
                                                  $144,
                                                  $145,
                                                  $146,
                                                  $147,
                                                  $148,
                                                  $149,
                                                  $150,
                                                  $151,
                                                  $152,
                                                  $153,
                                                  $154,
                                                  $155,
                                                  $156,
                                                  $157,
                                                  $158,
                                                  $159,
                                                  $160,
                                                  $161,
                                                  $162,
                                                  $163,
                                                  $164,
                                                  $165,
                                                  $166,
                                                  $167,
                                                  $168,
                                                  $169,
                                                  $170,
                                                  $171,
                                                  $172,
                                                  $173,
                                                  $174,
                                                  $175,
                                                  $176,
                                                  $177,
                                                  $178,
                                                  $179,
                                                  $180,
                                                  $181,
                                                  $182,
                                                  $183,
                                                  $184,
                                                  $185,
                                                  $186,
                                                  $187,
                                                  $188,
                                                  $189,
                                                  $190,
                                                  $191,
                                                  $192,
                                                  $193,
                                                  $194,
                                                  $195,
                                                  $196,
                                                  $197,
                                                  $198,
                                                  $199,
                                                  $200,
                                                  $201,
                                                  $202,
                                                  $203,
                                                  $204,
                                                  $205,
                                                  $206,
                                                  $207,
                                                  $208,
                                                  $209,
                                                  $210,
                                                  $211,
                                                  $212,
                                                  $213,
                                                  $214,
                                                  $215,
                                                  $216,
                                                  $217,
                                                  $218))
      UNION
        (WITH "cte_namespace_ids" AS MATERIALIZED
           (SELECT "ci_namespace_mirrors"."namespace_id"
            FROM (
                    (SELECT "ci_namespace_mirrors".*
                     FROM "ci_namespace_mirrors"
                     WHERE (((traversal_ids[$219]),(traversal_ids[$220]),(traversal_ids[$221])) IN (($222, $223, $224),($225, $226, $227),($228, $229, $230),($231, $232, $233))))
                  UNION
                    (SELECT "ci_namespace_mirrors".*
                     FROM "ci_namespace_mirrors"
                     WHERE (((traversal_ids[$234]),(traversal_ids[$235])) IN (($236, $237),($238, $239),($240, $241),($242, $243),($244, $245),($246, $247),($248, $249))))
                  UNION
                    (SELECT "ci_namespace_mirrors".*
                     FROM "ci_namespace_mirrors"
                     WHERE (((traversal_ids[$250]),(traversal_ids[$251]),(traversal_ids[$252]),(traversal_ids[$253])) IN (($254, $255, $256, $257),($258, $259, $260, $261))))
                  UNION
                    (SELECT "ci_namespace_mirrors".*
                     FROM "ci_namespace_mirrors"
                     WHERE (((traversal_ids[$262])) IN (($263),($264),($265),($266),($267),($268),($269),($270),($271),($272),($273),($274),($275),($276),($277),($278),($279),($280),($281),($282),($283),($284),($285),($286),($287),($288),($289),($290),($291),($292),($293),($294),($295),($296))))) ci_namespace_mirrors),
              "cte_project_ids" AS MATERIALIZED
           (SELECT "ci_project_mirrors"."project_id"
            FROM "ci_project_mirrors"
            WHERE (ci_project_mirrors.namespace_id IN
                     (SELECT namespace_id
                      FROM cte_namespace_ids))) SELECT "ci_runners".*
         FROM "ci_runners"
         INNER JOIN "ci_runner_projects" ON "ci_runner_projects"."runner_id" = "ci_runners"."id"
         WHERE (ci_runner_projects.project_id IN
                  (SELECT project_id
                   FROM cte_project_ids)))
      UNION
        (WITH "cte_namespace_ids" AS MATERIALIZED
           (SELECT "ci_namespace_mirrors"."namespace_id"
            FROM (
                    (SELECT "ci_namespace_mirrors".*
                     FROM "ci_namespace_mirrors"
                     WHERE (((traversal_ids[$297]),(traversal_ids[$298]),(traversal_ids[$299])) IN (($300, $301, $302),($303, $304, $305))))
                  UNION
                    (SELECT "ci_namespace_mirrors".*
                     FROM "ci_namespace_mirrors"
                     WHERE (((traversal_ids[$306]),(traversal_ids[$307])) IN (($308, $309),($310, $311),($312, $313),($314, $315))))
                  UNION
                    (SELECT "ci_namespace_mirrors".*
                     FROM "ci_namespace_mirrors"
                     WHERE (((traversal_ids[$316])) IN (($317),($318),($319),($320),($321),($322),($323),($324),($325),($326),($327),($328),($329),($330),($331),($332),($333),($334),($335),($336),($337),($338),($339),($340))))) ci_namespace_mirrors) SELECT "ci_runners".*
         FROM "ci_runners"
         INNER JOIN "ci_runner_namespaces" ON "ci_runner_namespaces"."runner_id" = "ci_runners"."id"
         WHERE (ci_runner_namespaces.namespace_id IN
                  (SELECT namespace_id
                   FROM cte_namespace_ids)))) ci_runners
WHERE "ci_runners"."locked" = $341
  AND NOT (ci_runners.id IN
             (SELECT "ci_runners"."id"
              FROM "ci_runners"
              INNER JOIN "ci_runner_projects" ON "ci_runners"."id" = "ci_runner_projects"."runner_id"
              WHERE "ci_runner_projects"."project_id" = $342))
  AND "ci_runners"."runner_type" = $343
LIMIT $345
OFFSET $344
Edited by 🤖 GitLab Bot 🤖