Flaky spec: ./spec/requests/api/todos_spec.rb:188 # API::Todos GET /todos avoids N+1 queries
Job #2667048257 failed for 4fbb43ed:
3rd Try error in ./spec/requests/api/todos_spec.rb:188:
Expected a maximum of 56 (+4) queries, got 62:
Query Diff:
-----------
SELECT "users".* FROM "users"...
-- (expected: 1, got: 0)
WHERE "users"."id" = 1571
-- (expected: 1, got: 0)
WHERE "users"."id" IN (1571, 1589)
-- (expected: 1, got: 0)
WHERE "users"."id" IN (1574, 1575, 1573)
-- (expected: 0, got: 1)
WHERE "users"."id" IN (1571, 1572, 1593)
-- (expected: 0, got: 1)
WHERE "users"."id" IN (1571, 1589, 1591)
-- (expected: 0, got: 1)
WHERE "users"."id" IN (1574, 1573, 1575)
SELECT "projects"."id", "projects"."name", "projects"."path", "projects"."description", "projects"."created_at", "projects"."updated_at", "projects"."creator_id", "projects"."namespace_id", "projects"."last_activity_at", "projects"."import_url", "projects"."visibility_level", "projects"."archived", "projects"."avatar", "projects"."merge_requests_template", "projects"."star_count", "projects"."merge_requests_rebase_enabled", "projects"."import_type", "projects"."import_source", "projects"."approvals_before_merge", "projects"."reset_approvals_on_push", "projects"."merge_requests_ff_only_enabled", "projects"."issues_template", "projects"."mirror", "projects"."mirror_user_id", "projects"."shared_runners_enabled", "projects"."runners_token", "projects"."build_coverage_regex", "projects"."build_allow_git_fetch", "projects"."build_timeout", "projects"."mirror_trigger_builds", "projects"."pending_delete", "projects"."public_builds", "projects"."last_repository_check_failed", "projects"."last_repository_check_at", "projects"."only_allow_merge_if_pipeline_succeeds", "projects"."has_external_issue_tracker", "projects"."repository_storage", "projects"."repository_read_only", "projects"."request_access_enabled", "projects"."has_external_wiki", "projects"."ci_config_path", "projects"."lfs_enabled", "projects"."description_html", "projects"."only_allow_merge_if_all_discussions_are_resolved", "projects"."repository_size_limit", "projects"."printing_merge_request_link_enabled", "projects"."auto_cancel_pending_pipelines", "projects"."service_desk_enabled", "projects"."cached_markdown_version", "projects"."delete_error", "projects"."last_repository_updated_at", "projects"."disable_overriding_approvers_per_merge_request", "projects"."storage_version", "projects"."resolve_outdated_diff_discussions", "projects"."remote_mirror_available_overridden", "projects"."only_mirror_protected_branches", "projects"."pull_mirror_available_overridden", "projects"."jobs_cache_index", "projects"."external_authorization_classification_label", "projects"."mirror_overwrites_diverged_branches", "projects"."pages_https_only", "projects"."external_webhook_token", "projects"."packages_enabled", "projects"."merge_requests_author_approval", "projects"."pool_repository_id", "projects"."runners_token_encrypted", "projects"."bfg_object_map", "projects"."detected_repository_languages", "projects"."merge_requests_disable_committers_approval", "projects"."require_password_to_approve", "projects"."emails_disabled", "projects"."max_pages_size", "projects"."max_artifacts_size", "projects"."remove_source_branch_after_merge", "projects"."marked_for_deletion_at", "projects"."marked_for_deletion_by_user_id", "projects"."autoclose_referenced_issues", "projects"."suggestion_commit_message", "projects"."project_namespace_id", "projects"."hidden" FROM "projects"...
-- (expected: 1, got: 0)
WHERE "projects"."id" = 669
-- (expected: 1, got: 0)
WHERE "projects"."id" IN (669, 677)
-- (expected: 1, got: 0)
WHERE "projects"."id" IN (669, 677, 670)
-- (expected: 0, got: 1)
WHERE "projects"."id" IN (669, 670, 679)
-- (expected: 0, got: 1)
WHERE "projects"."id" IN (669, 677, 678)
-- (expected: 0, got: 1)
WHERE "projects"."id" IN (679, 669, 670, 678, 677)
SELECT "routes".* FROM "routes"...
-- (expected: 1, got: 0)
WHERE "routes"."source_type" = 'Project' AND "routes"."source_id" = 669
-- (expected: 1, got: 0)
WHERE "routes"."source_type" = 'Namespace' AND "routes"."source_id" = 2665
-- (expected: 1, got: 0)
WHERE "routes"."source_type" = 'Project' AND "routes"."source_id" IN (669, 677)
-- (expected: 1, got: 0)
WHERE "routes"."source_type" = 'Namespace' AND "routes"."source_id" IN (2665, 2698)
-- (expected: 1, got: 0)
WHERE "routes"."source_type" = 'Project' AND "routes"."source_id" IN (669, 670, 677)
-- (expected: 1, got: 0)
WHERE "routes"."source_type" = 'Namespace' AND "routes"."source_id" IN (2665, 2669, 2698)
-- (expected: 0, got: 1)
WHERE "routes"."source_type" = 'Project' AND "routes"."source_id" IN (669, 670, 679)
-- (expected: 0, got: 1)
WHERE "routes"."source_type" = 'Namespace' AND "routes"."source_id" IN (2665, 2669, 2706)
-- (expected: 0, got: 1)
WHERE "routes"."source_type" = 'Project' AND "routes"."source_id" IN (669, 677, 678)
-- (expected: 0, got: 1)
WHERE "routes"."source_type" = 'Namespace' AND "routes"."source_id" IN (2665, 2698, 2702)
-- (expected: 0, got: 1)
WHERE "routes"."source_type" = 'Project' AND "routes"."source_id" IN (669, 670, 677, 678, 679)
-- (expected: 0, got: 1)
WHERE "routes"."source_type" = 'Namespace' AND "routes"."source_id" IN (2665, 2669, 2698, 2702, 2706)
SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."unlock_membership_to_ldap", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids" FROM "namespaces"...
-- (expected: 1, got: 0)
WHERE "namespaces"."id" = 2665
-- (expected: 1, got: 0)
WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2665
-- (expected: 1, got: 0)
WHERE "namespaces"."id" IN (2665, 2698)
-- (expected: 1, got: 0)
WHERE "namespaces"."id" IN (2665, 2669, 2698)
-- (expected: 0, got: 1)
WHERE "namespaces"."id" IN (2665, 2669, 2706)
-- (expected: 0, got: 1)
WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" IN (2665, 2669, 2706)
-- (expected: 0, got: 1)
WHERE "namespaces"."id" IN (2665, 2698, 2702)
-- (expected: 0, got: 1)
WHERE "namespaces"."id" IN (2665, 2669, 2698, 2702, 2706)
-- (expected: 0, got: 1)
WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2702 LIMIT 1
SELECT "label_links".* FROM "label_links"...
-- (expected: 1, got: 0)
WHERE "label_links"."target_type" = 'MergeRequest' AND "label_links"."target_id" = 101
-- (expected: 1, got: 0)
WHERE "label_links"."target_type" = 'Issue' AND "label_links"."target_id" IN (172, 177)
-- (expected: 0, got: 1)
WHERE "label_links"."target_type" = 'MergeRequest' AND "label_links"."target_id" IN (101, 108, 109, 110)
-- (expected: 0, got: 1)
WHERE "label_links"."target_type" = 'Issue' AND "label_links"."target_id" IN (172, 177, 178)
SELECT "timelogs".* FROM "timelogs"...
-- (expected: 1, got: 0)
WHERE "timelogs"."merge_request_id" = 101
-- (expected: 1, got: 0)
WHERE "timelogs"."issue_id" IN (172, 177)
-- (expected: 0, got: 1)
WHERE "timelogs"."merge_request_id" IN (101, 108, 109, 110)
-- (expected: 0, got: 1)
WHERE "timelogs"."issue_id" IN (172, 177, 178)
SELECT "award_emoji"."name", "award_emoji"."awardable_id", COUNT(*) as count FROM "award_emoji"...
-- (expected: 1, got: 0)
WHERE (name IN ('thumbsdown','thumbsup') AND awardable_type = 'MergeRequest' AND awardable_id IN (101,101)) GROUP BY "award_emoji"."name", "award_emoji"."awardable_id"
-- (expected: 1, got: 0)
WHERE (name IN ('thumbsdown','thumbsup') AND awardable_type = 'Issue' AND awardable_id IN (177,172,172)) GROUP BY "award_emoji"."name", "award_emoji"."awardable_id"
-- (expected: 0, got: 1)
WHERE (name IN ('thumbsdown','thumbsup') AND awardable_type = 'MergeRequest' AND awardable_id IN (110,110,109,101,108,101,101)) GROUP BY "award_emoji"."name", "award_emoji"."awardable_id"
-- (expected: 0, got: 1)
WHERE (name IN ('thumbsdown','thumbsup') AND awardable_type = 'Issue' AND awardable_id IN (178,177,172,172)) GROUP BY "award_emoji"."name", "award_emoji"."awardable_id"
SELECT "notes"."noteable_id", COUNT(*) as count FROM "notes"...
-- (expected: 1, got: 0)
WHERE "notes"."system" = FALSE AND "notes"."noteable_type" = 'MergeRequest' AND "notes"."noteable_id" IN (101, 101) GROUP BY "notes"."noteable_id"
-- (expected: 1, got: 0)
WHERE "notes"."system" = FALSE AND "notes"."noteable_type" = 'Issue' AND "notes"."noteable_id" IN (177, 172, 172) GROUP BY "notes"."noteable_id"
-- (expected: 0, got: 1)
WHERE "notes"."system" = FALSE AND "notes"."noteable_type" = 'MergeRequest' AND "notes"."noteable_id" IN (110, 110, 109, 101, 108, 101, 101) GROUP BY "notes"."noteable_id"
-- (expected: 0, got: 1)
WHERE "notes"."system" = FALSE AND "notes"."noteable_type" = 'Issue' AND "notes"."noteable_id" IN (178, 177, 172, 172) GROUP BY "notes"."noteable_id"
SELECT "merge_requests_closing_issues"."issue_id", COUNT(*) as count FROM "merge_requests_closing_issues" INNER JOIN "merge_requests" ON "merge_requests"."id" = "merge_requests_closing_issues"."merge_request_id" INNER JOIN project_features ON merge_requests.target_project_id = project_features.project_id WHERE "merge_requests_closing_issues"."issue_id" IN (177, 172, 172) AND (project_features.merge_requests_access_level >= 20 OR EXISTS(SELECT 1 FROM "project_authorizations"...
-- (expected: 1, got: 0)
WHERE "project_authorizations"."user_id" = 1575 AND (project_authorizations.project_id = merge_requests.target_project_id) AND (project_authorizations.access_level >= 20))) GROUP BY "merge_requests_closing_issues"."issue_id"
SELECT "project_settings".* FROM "project_settings"...
-- (expected: 0, got: 1)
WHERE "project_settings"."project_id" = 679 LIMIT 1
-- (expected: 0, got: 1)
WHERE "project_settings"."project_id" = 670 LIMIT 1
SELECT "merge_requests_closing_issues"."issue_id", COUNT(*) as count FROM "merge_requests_closing_issues" INNER JOIN "merge_requests" ON "merge_requests"."id" = "merge_requests_closing_issues"."merge_request_id" INNER JOIN project_features ON merge_requests.target_project_id = project_features.project_id WHERE "merge_requests_closing_issues"."issue_id" IN (178, 177, 172, 172) AND (project_features.merge_requests_access_level >= 20 OR EXISTS(SELECT 1 FROM "project_authorizations"...
-- (expected: 0, got: 1)
WHERE "project_authorizations"."user_id" = 1575 AND (project_authorizations.project_id = merge_requests.target_project_id) AND (project_authorizations.access_level >= 20))) GROUP BY "merge_requests_closing_issues"."issue_id"
SELECT "merge_request_diff_commits"."sha" FROM "merge_request_diff_commits"...
-- (expected: 0, got: 1)
WHERE "merge_request_diff_commits"."merge_request_diff_id" = 110 ORDER BY "merge_request_diff_commits"."merge_request_diff_id" ASC, "merge_request_diff_commits"."relative_order" ASC LIMIT 1
-- (expected: 0, got: 1)
WHERE "merge_request_diff_commits"."merge_request_diff_id" = 109 ORDER BY "merge_request_diff_commits"."merge_request_diff_id" ASC, "merge_request_diff_commits"."relative_order" ASC LIMIT 1
-- (expected: 0, got: 1)
WHERE "merge_request_diff_commits"."merge_request_diff_id" = 108 ORDER BY "merge_request_diff_commits"."merge_request_diff_id" ASC, "merge_request_diff_commits"."relative_order" ASC LIMIT 1
RSpec::Retry: 4th try ./spec/requests/api/todos_spec.rb:188
Failures:
1) API::Todos GET /todos avoids N+1 queries
Failure/Error: expect { get api('/todos', john_doe) }.not_to exceed_query_limit(control1).with_threshold(4)
Expected a maximum of 56 (+4) queries, got 62:
Query Diff:
-----------
SELECT "users".* FROM "users"...
-- (expected: 1, got: 0)
WHERE "users"."id" = 1571
-- (expected: 1, got: 0)
WHERE "users"."id" IN (1571, 1595)
-- (expected: 1, got: 0)
WHERE "users"."id" IN (1574, 1575, 1573)
-- (expected: 0, got: 1)
WHERE "users"."id" IN (1571, 1572, 1599)
-- (expected: 0, got: 1)
WHERE "users"."id" IN (1571, 1595, 1597)
-- (expected: 0, got: 1)
WHERE "users"."id" IN (1574, 1573, 1575)
SELECT "projects"."id", "projects"."name", "projects"."path", "projects"."description", "projects"."created_at", "projects"."updated_at", "projects"."creator_id", "projects"."namespace_id", "projects"."last_activity_at", "projects"."import_url", "projects"."visibility_level", "projects"."archived", "projects"."avatar", "projects"."merge_requests_template", "projects"."star_count", "projects"."merge_requests_rebase_enabled", "projects"."import_type", "projects"."import_source", "projects"."approvals_before_merge", "projects"."reset_approvals_on_push", "projects"."merge_requests_ff_only_enabled", "projects"."issues_template", "projects"."mirror", "projects"."mirror_user_id", "projects"."shared_runners_enabled", "projects"."runners_token", "projects"."build_coverage_regex", "projects"."build_allow_git_fetch", "projects"."build_timeout", "projects"."mirror_trigger_builds", "projects"."pending_delete", "projects"."public_builds", "projects"."last_repository_check_failed", "projects"."last_repository_check_at", "projects"."only_allow_merge_if_pipeline_succeeds", "projects"."has_external_issue_tracker", "projects"."repository_storage", "projects"."repository_read_only", "projects"."request_access_enabled", "projects"."has_external_wiki", "projects"."ci_config_path", "projects"."lfs_enabled", "projects"."description_html", "projects"."only_allow_merge_if_all_discussions_are_resolved", "projects"."repository_size_limit", "projects"."printing_merge_request_link_enabled", "projects"."auto_cancel_pending_pipelines", "projects"."service_desk_enabled", "projects"."cached_markdown_version", "projects"."delete_error", "projects"."last_repository_updated_at", "projects"."disable_overriding_approvers_per_merge_request", "projects"."storage_version", "projects"."resolve_outdated_diff_discussions", "projects"."remote_mirror_available_overridden", "projects"."only_mirror_protected_branches", "projects"."pull_mirror_available_overridden", "projects"."jobs_cache_index", "projects"."external_authorization_classification_label", "projects"."mirror_overwrites_diverged_branches", "projects"."pages_https_only", "projects"."external_webhook_token", "projects"."packages_enabled", "projects"."merge_requests_author_approval", "projects"."pool_repository_id", "projects"."runners_token_encrypted", "projects"."bfg_object_map", "projects"."detected_repository_languages", "projects"."merge_requests_disable_committers_approval", "projects"."require_password_to_approve", "projects"."emails_disabled", "projects"."max_pages_size", "projects"."max_artifacts_size", "projects"."remove_source_branch_after_merge", "projects"."marked_for_deletion_at", "projects"."marked_for_deletion_by_user_id", "projects"."autoclose_referenced_issues", "projects"."suggestion_commit_message", "projects"."project_namespace_id", "projects"."hidden" FROM "projects"...
-- (expected: 1, got: 0)
WHERE "projects"."id" = 669
-- (expected: 1, got: 0)
WHERE "projects"."id" IN (669, 680)
-- (expected: 1, got: 0)
WHERE "projects"."id" IN (669, 680, 670)
-- (expected: 0, got: 1)
WHERE "projects"."id" IN (669, 670, 682)
-- (expected: 0, got: 1)
WHERE "projects"."id" IN (669, 680, 681)
-- (expected: 0, got: 1)
WHERE "projects"."id" IN (682, 669, 670, 681, 680)
SELECT "routes".* FROM "routes"...
-- (expected: 1, got: 0)
WHERE "routes"."source_type" = 'Project' AND "routes"."source_id" = 669
-- (expected: 1, got: 0)
WHERE "routes"."source_type" = 'Namespace' AND "routes"."source_id" = 2665
-- (expected: 1, got: 0)
WHERE "routes"."source_type" = 'Project' AND "routes"."source_id" IN (669, 680)
-- (expected: 1, got: 0)
WHERE "routes"."source_type" = 'Namespace' AND "routes"."source_id" IN (2665, 2710)
-- (expected: 1, got: 0)
WHERE "routes"."source_type" = 'Project' AND "routes"."source_id" IN (669, 670, 680)
-- (expected: 1, got: 0)
WHERE "routes"."source_type" = 'Namespace' AND "routes"."source_id" IN (2665, 2669, 2710)
-- (expected: 0, got: 1)
WHERE "routes"."source_type" = 'Project' AND "routes"."source_id" IN (669, 670, 682)
-- (expected: 0, got: 1)
WHERE "routes"."source_type" = 'Namespace' AND "routes"."source_id" IN (2665, 2669, 2718)
-- (expected: 0, got: 1)
WHERE "routes"."source_type" = 'Project' AND "routes"."source_id" IN (669, 680, 681)
-- (expected: 0, got: 1)
WHERE "routes"."source_type" = 'Namespace' AND "routes"."source_id" IN (2665, 2710, 2714)
-- (expected: 0, got: 1)
WHERE "routes"."source_type" = 'Project' AND "routes"."source_id" IN (669, 670, 680, 681, 682)
-- (expected: 0, got: 1)
WHERE "routes"."source_type" = 'Namespace' AND "routes"."source_id" IN (2665, 2669, 2710, 2714, 2718)
SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."unlock_membership_to_ldap", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids" FROM "namespaces"...
-- (expected: 1, got: 0)
WHERE "namespaces"."id" = 2665
-- (expected: 1, got: 0)
WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2665
-- (expected: 1, got: 0)
WHERE "namespaces"."id" IN (2665, 2710)
-- (expected: 1, got: 0)
WHERE "namespaces"."id" IN (2665, 2669, 2710)
-- (expected: 0, got: 1)
WHERE "namespaces"."id" IN (2665, 2669, 2718)
-- (expected: 0, got: 1)
WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" IN (2665, 2669, 2718)
-- (expected: 0, got: 1)
WHERE "namespaces"."id" IN (2665, 2710, 2714)
-- (expected: 0, got: 1)
WHERE "namespaces"."id" IN (2665, 2669, 2710, 2714, 2718)
-- (expected: 0, got: 1)
WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2714 LIMIT 1
SELECT "label_links".* FROM "label_links"...
-- (expected: 1, got: 0)
WHERE "label_links"."target_type" = 'MergeRequest' AND "label_links"."target_id" = 101
-- (expected: 1, got: 0)
WHERE "label_links"."target_type" = 'Issue' AND "label_links"."target_id" IN (172, 179)
-- (expected: 0, got: 1)
WHERE "label_links"."target_type" = 'MergeRequest' AND "label_links"."target_id" IN (101, 111, 112, 113)
-- (expected: 0, got: 1)
WHERE "label_links"."target_type" = 'Issue' AND "label_links"."target_id" IN (172, 179, 180)
SELECT "timelogs".* FROM "timelogs"...
-- (expected: 1, got: 0)
WHERE "timelogs"."merge_request_id" = 101
-- (expected: 1, got: 0)
WHERE "timelogs"."issue_id" IN (172, 179)
-- (expected: 0, got: 1)
WHERE "timelogs"."merge_request_id" IN (101, 111, 112, 113)
-- (expected: 0, got: 1)
WHERE "timelogs"."issue_id" IN (172, 179, 180)
SELECT "award_emoji"."name", "award_emoji"."awardable_id", COUNT(*) as count FROM "award_emoji"...
-- (expected: 1, got: 0)
WHERE (name IN ('thumbsdown','thumbsup') AND awardable_type = 'MergeRequest' AND awardable_id IN (101,101)) GROUP BY "award_emoji"."name", "award_emoji"."awardable_id"
-- (expected: 1, got: 0)
WHERE (name IN ('thumbsdown','thumbsup') AND awardable_type = 'Issue' AND awardable_id IN (179,172,172)) GROUP BY "award_emoji"."name", "award_emoji"."awardable_id"
-- (expected: 0, got: 1)
WHERE (name IN ('thumbsdown','thumbsup') AND awardable_type = 'MergeRequest' AND awardable_id IN (113,113,112,101,111,101,101)) GROUP BY "award_emoji"."name", "award_emoji"."awardable_id"
-- (expected: 0, got: 1)
WHERE (name IN ('thumbsdown','thumbsup') AND awardable_type = 'Issue' AND awardable_id IN (180,179,172,172)) GROUP BY "award_emoji"."name", "award_emoji"."awardable_id"
SELECT "notes"."noteable_id", COUNT(*) as count FROM "notes"...
-- (expected: 1, got: 0)
WHERE "notes"."system" = FALSE AND "notes"."noteable_type" = 'MergeRequest' AND "notes"."noteable_id" IN (101, 101) GROUP BY "notes"."noteable_id"
-- (expected: 1, got: 0)
WHERE "notes"."system" = FALSE AND "notes"."noteable_type" = 'Issue' AND "notes"."noteable_id" IN (179, 172, 172) GROUP BY "notes"."noteable_id"
-- (expected: 0, got: 1)
WHERE "notes"."system" = FALSE AND "notes"."noteable_type" = 'MergeRequest' AND "notes"."noteable_id" IN (113, 113, 112, 101, 111, 101, 101) GROUP BY "notes"."noteable_id"
-- (expected: 0, got: 1)
WHERE "notes"."system" = FALSE AND "notes"."noteable_type" = 'Issue' AND "notes"."noteable_id" IN (180, 179, 172, 172) GROUP BY "notes"."noteable_id"
SELECT "merge_requests_closing_issues"."issue_id", COUNT(*) as count FROM "merge_requests_closing_issues" INNER JOIN "merge_requests" ON "merge_requests"."id" = "merge_requests_closing_issues"."merge_request_id" INNER JOIN project_features ON merge_requests.target_project_id = project_features.project_id WHERE "merge_requests_closing_issues"."issue_id" IN (179, 172, 172) AND (project_features.merge_requests_access_level >= 20 OR EXISTS(SELECT 1 FROM "project_authorizations"...
-- (expected: 1, got: 0)
WHERE "project_authorizations"."user_id" = 1575 AND (project_authorizations.project_id = merge_requests.target_project_id) AND (project_authorizations.access_level >= 20))) GROUP BY "merge_requests_closing_issues"."issue_id"
SELECT "project_settings".* FROM "project_settings"...
-- (expected: 0, got: 1)
WHERE "project_settings"."project_id" = 682 LIMIT 1
-- (expected: 0, got: 1)
WHERE "project_settings"."project_id" = 670 LIMIT 1
SELECT "merge_requests_closing_issues"."issue_id", COUNT(*) as count FROM "merge_requests_closing_issues" INNER JOIN "merge_requests" ON "merge_requests"."id" = "merge_requests_closing_issues"."merge_request_id" INNER JOIN project_features ON merge_requests.target_project_id = project_features.project_id WHERE "merge_requests_closing_issues"."issue_id" IN (180, 179, 172, 172) AND (project_features.merge_requests_access_level >= 20 OR EXISTS(SELECT 1 FROM "project_authorizations"...
-- (expected: 0, got: 1)
WHERE "project_authorizations"."user_id" = 1575 AND (project_authorizations.project_id = merge_requests.target_project_id) AND (project_authorizations.access_level >= 20))) GROUP BY "merge_requests_closing_issues"."issue_id"
SELECT "merge_request_diff_commits"."sha" FROM "merge_request_diff_commits"...
-- (expected: 0, got: 1)
WHERE "merge_request_diff_commits"."merge_request_diff_id" = 113 ORDER BY "merge_request_diff_commits"."merge_request_diff_id" ASC, "merge_request_diff_commits"."relative_order" ASC LIMIT 1
-- (expected: 0, got: 1)
WHERE "merge_request_diff_commits"."merge_request_diff_id" = 112 ORDER BY "merge_request_diff_commits"."merge_request_diff_id" ASC, "merge_request_diff_commits"."relative_order" ASC LIMIT 1
-- (expected: 0, got: 1)
WHERE "merge_request_diff_commits"."merge_request_diff_id" = 111 ORDER BY "merge_request_diff_commits"."merge_request_diff_id" ASC, "merge_request_diff_commits"."relative_order" ASC LIMIT 1
# ./spec/requests/api/todos_spec.rb:204:in `block (3 levels) in <main>'
# ./spec/spec_helper.rb:405:in `block (3 levels) in <top (required)>'
# ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'
# ./spec/spec_helper.rb:396:in `block (2 levels) in <top (required)>'
# ./spec/spec_helper.rb:392:in `block (3 levels) in <top (required)>'
# ./lib/gitlab/application_context.rb:52:in `with_raw_context'
# ./spec/spec_helper.rb:392:in `block (2 levels) in <top (required)>'
# ./spec/spec_helper.rb:370:in `block (3 levels) in <top (required)>'
# ./lib/gitlab/with_request_store.rb:17:in `enabling_request_store'
# ./lib/gitlab/with_request_store.rb:10:in `with_request_store'
# ./spec/spec_helper.rb:370:in `block (2 levels) in <top (required)>'
# ./spec/spec_helper.rb:261:in `block (2 levels) in <top (required)>'
# ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <main>'
# ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <main>'
# ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <main>'
# ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'
# ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <main>'
Finished in 31.4 seconds (files took 53.58 seconds to load)
1 example, 1 failure
Failed examples:
rspec ./spec/requests/api/todos_spec.rb:188 # API::Todos GET /todos avoids N+1 queries