Flaky spec: spec/requests/api/graphql/ci/runner_spec.rb:684 # Query.runner(id) Query limits does not execute more queries per runner
Summary
Steps to reproduce
Please refer to Flaky tests documentation to learn more about how to reproduce them.
Proposed Resolution
Please refer to the Resolution guidance to learn more about resolution of broken master.
Once the flaky failure has been fixed on the default branch, open merge requests to cherry-pick the fix to the active stable branches.
Job #3757983732 failed for e63dfc83:
Run options: include {:last_run_status=>"failed"}
Test environment set up in 0.396140631 seconds
Query.runner(id)
Query limits
does not execute more queries per runner (FAILED - 1)
Failures:
1) Query.runner(id) Query limits does not execute more queries per runner
Failure/Error: expect { post_graphql(double_query, **args) }.not_to exceed_query_limit(control)
Expected a maximum of 30 queries, got 36:
Query Diff:
-----------
SELECT "users"."id", "users"."email", "users"."encrypted_password", "users"."reset_password_token", "users"."reset_password_sent_at", "users"."remember_created_at", "users"."sign_in_count", "users"."current_sign_in_at", "users"."last_sign_in_at", "users"."current_sign_in_ip", "users"."last_sign_in_ip", "users"."created_at", "users"."updated_at", "users"."name", "users"."admin", "users"."projects_limit", "users"."failed_attempts", "users"."locked_at", "users"."username", "users"."can_create_group", "users"."can_create_team", "users"."state", "users"."color_scheme_id", "users"."password_expires_at", "users"."created_by_id", "users"."last_credential_check_at", "users"."avatar", "users"."confirmation_token", "users"."confirmed_at", "users"."confirmation_sent_at", "users"."unconfirmed_email", "users"."hide_no_ssh_key", "users"."admin_email_unsubscribed_at", "users"."notification_email", "users"."hide_no_password", "users"."password_automatically_set", "users"."encrypted_otp_secret", "users"."encrypted_otp_secret_iv", "users"."encrypted_otp_secret_salt", "users"."otp_required_for_login", "users"."otp_backup_codes", "users"."public_email", "users"."dashboard", "users"."project_view", "users"."consumed_timestep", "users"."layout", "users"."hide_project_limit", "users"."note", "users"."unlock_token", "users"."otp_grace_period_started_at", "users"."external", "users"."incoming_email_token", "users"."auditor", "users"."require_two_factor_authentication_from_group", "users"."two_factor_grace_period", "users"."last_activity_on", "users"."notified_of_own_activity", "users"."preferred_language", "users"."email_opted_in", "users"."email_opted_in_ip", "users"."email_opted_in_source_id", "users"."email_opted_in_at", "users"."theme_id", "users"."accepted_term_id", "users"."feed_token", "users"."private_profile", "users"."roadmap_layout", "users"."include_private_contributions", "users"."commit_email", "users"."group_view", "users"."managing_group_id", "users"."first_name", "users"."last_name", "users"."static_object_token", "users"."role", "users"."user_type", "users"."static_object_token_encrypted", "users"."otp_secret_expires_at", "users"."onboarding_in_progress" FROM "users"...
-- (expected: 1, got: 0)
WHERE "users"."id" = 2302
-- (expected: 0, got: 1)
WHERE "users"."id" IN (2302, 2303)
-- (expected: 0, got: 1)
WHERE "users"."id" IN (2303, 2302)
SELECT "ci_runners".* FROM "ci_runners" WHERE "ci_runners"."id" IN (45, 47, 48) AND (EXISTS(SELECT 1 FROM "ci_builds"...
-- (expected: 1, got: 0)
WHERE "ci_builds"."type" = 'Ci::Build' AND ("ci_builds"."status" IN ('running')) AND (ci_builds.runner_id = ci_runners.id)))
SELECT "namespaces".* FROM "namespaces"...
-- (expected: 1, got: 0)
WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 3424
-- (expected: 1, got: 0)
WHERE "namespaces"."id" = 3425
-- (expected: 1, got: 0)
WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 3425
-- (expected: 0, got: 1)
WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" IN (3424, 3427)
-- (expected: 0, got: 1)
WHERE "namespaces"."id" IN (3425, 3428)
-- (expected: 0, got: 1)
WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" IN (3425, 3428)
-- (expected: 0, got: 1)
WHERE "namespaces"."id" IN (3428, 3425)
-- (expected: 0, got: 1)
WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" IN (3428, 3425)
SELECT "routes".* FROM "routes"...
-- (expected: 1, got: 0)
WHERE "routes"."source_type" = 'Namespace' AND "routes"."source_id" = 3424
-- (expected: 1, got: 0)
WHERE "routes"."source_type" = 'Project' AND "routes"."source_id" = 1048
-- (expected: 1, got: 0)
WHERE "routes"."source_type" = 'Namespace' AND "routes"."source_id" = 3425
-- (expected: 0, got: 1)
WHERE "routes"."source_type" = 'Namespace' AND "routes"."source_id" IN (3424, 3427)
-- (expected: 0, got: 1)
WHERE "routes"."source_type" = 'Project' AND "routes"."source_id" IN (1048, 1049)
-- (expected: 0, got: 1)
WHERE "routes"."source_type" = 'Namespace' AND "routes"."source_id" IN (3425, 3428)
-- (expected: 0, got: 1)
WHERE "routes"."source_type" = 'Project' AND "routes"."source_id" IN (1049, 1048)
SELECT "project_features".* FROM "project_features"...
-- (expected: 1, got: 0)
WHERE "project_features"."project_id" = 1048
-- (expected: 0, got: 1)
WHERE "project_features"."project_id" IN (1048, 1049)
-- (expected: 0, got: 1)
WHERE "project_features"."project_id" IN (1049, 1048)
SELECT "projects".*, "project_authorizations"."user_id", "project_authorizations"."access_level" FROM "projects"...
-- (expected: 1, got: 0)
LEFT OUTER JOIN "project_authorizations" AS project_authorizations ON "project_authorizations"."project_id" = "projects"."id" AND "project_authorizations"."user_id" = 2301 WHERE "projects"."id" = 1048
-- (expected: 0, got: 1)
LEFT OUTER JOIN "project_authorizations" AS project_authorizations ON "project_authorizations"."project_id" = "projects"."id" AND "project_authorizations"."user_id" = 2301 WHERE "projects"."id" IN (1048, 1049)
-- (expected: 0, got: 1)
LEFT OUTER JOIN "project_authorizations" AS project_authorizations ON "project_authorizations"."project_id" = "projects"."id" AND "project_authorizations"."user_id" = 2301 WHERE "projects"."id" IN (1049, 1048)
SELECT "ci_runners".* FROM "ci_runners" WHERE "ci_runners"."id" IN (45, 46, 47, 49, 48, 50) AND (EXISTS(SELECT 1 FROM "ci_builds"...
-- (expected: 0, got: 1)
WHERE "ci_builds"."type" = 'Ci::Build' AND ("ci_builds"."status" IN ('running')) AND (ci_builds.runner_id = ci_runners.id)))
# ./spec/requests/api/graphql/ci/runner_spec.rb:692:in `block (3 levels) in <main>'
# ./spec/spec_helper.rb:509:in `block (3 levels) in <top (required)>'
# ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'
# ./spec/spec_helper.rb:501:in `block (2 levels) in <top (required)>'
# ./spec/spec_helper.rb:497:in `block (3 levels) in <top (required)>'
# ./lib/gitlab/application_context.rb:59:in `with_raw_context'
# ./spec/spec_helper.rb:497:in `block (2 levels) in <top (required)>'
# ./spec/spec_helper.rb:239:in `block (2 levels) in <top (required)>'
# ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <main>'
# ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <main>'
# ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'
# ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <main>'
Finished in 8.34 seconds (files took 52.41 seconds to load)
1 example, 1 failure
Failed examples:
rspec ./spec/requests/api/graphql/ci/runner_spec.rb:684 # Query.runner(id) Query limits does not execute more queries per runner