ActiveRecord::StatementInvalid from Boards::IssuesController#index
https://sentry.gitlap.com/gitlab/gitlabcom/issues/475396/
PG::QueryCanceled: ERROR: canceling statement due to statement timeout
peek/views/pg.rb:17:in `async_exec'
super(*args)
peek/views/pg.rb:17:in `async_exec'
super(*args)
active_record/connection_adapters/postgresql_adapter.rb:592:in `block in exec_no_cache'
log(sql, name, binds) { @connection.async_exec(sql, []) }
active_record/connection_adapters/abstract_adapter.rb:484:in `block in log'
:binds => binds) { yield }
active_support/notifications/instrumenter.rb:20:in `instrument'
yield payload
...
(150 additional frame(s) were not displayed)
ActiveRecord::StatementInvalid: PG::QueryCanceled: ERROR: canceling statement due to statement timeout
: SELECT issues.*, (SELECT MIN("label_priorities"."priority") FROM "labels" INNER JOIN "label_links" ON "label_links"."label_id" = "labels"."id" LEFT OUTER JOIN "label_priorities" ON "labels"."id" = "label_priorities"."label_id" WHERE (label_priorities.project_id = issues.project_id) AND (label_links.target_id = issues.id) AND "label_links"."target_type" = 'Issue') AS highest_priority FROM "issues" INNER JOIN "projects" ON "projects"."id" = "issues"."project_id" INNER JOIN "label_links" ON "label_links"."target_id" = "issues"."id" AND "label_links"."target_type" = 'Issue' INNER JOIN "labels" ON "labels"."id" = "label_links"."label_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE (
issues.confidential IS NOT TRUE
OR (issues.confidential = TRUE
AND (issues.author_id = 1315784
OR EXISTS (SELECT TRUE FROM issue_assignees WHERE user_id = 1315784 AND issue_id = issues.id)
OR issues.project_id IN(SELECT "projects"."id" FROM "projects" INNER JOIN "project_authorizations" ON "projects"."id" = "project_authorizations"."project_id" WHERE "project_authorizations"."user_id" = 1315784 AND (project_authorizations.access_level >= 20))))) AND "projects"."namespace_id" IN (WITH RECURSIVE "base_and_descendants" AS (SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" IN ('Group') AND "namespaces"."id" = 9970
UNION
SELECT "namespaces".* FROM "namespaces", "base_and_descendants" WHERE "namespaces"."type" IN ('Group') AND "namespaces"."parent_id" = "base_and_descendants"."id") SELECT "id" FROM "base_and_descendants" AS "namespaces") AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1315784 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (10,20)) AND ("project_features"."issues_access_level" IN (NULL,20) OR ("project_features"."issues_access_level" = 10 AND EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1315784 AND (project_authorizations.project_id = projects.id)))) AND ("issues"."state" IN ('opened')) AND "labels"."title" IN ('Manage', 'backend') AND ("issues"."id" NOT IN (SELECT "issues"."id" FROM "issues" INNER JOIN "projects" ON "projects"."id" = "issues"."project_id" INNER JOIN "label_links" ON "label_links"."target_id" = "issues"."id" AND "label_links"."target_type" = 'Issue' INNER JOIN "labels" ON "labels"."id" = "label_links"."label_id" INNER JOIN "issue_assignees" ON "issue_assignees"."issue_id" = "issues"."id" INNER JOIN "users" ON "users"."id" = "issue_assignees"."user_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE (
issues.confidential IS NOT TRUE
OR (issues.confidential = TRUE
AND (issues.author_id = 1315784
OR EXISTS (SELECT TRUE FROM issue_assignees WHERE user_id = 1315784 AND issue_id = issues.id)
OR issues.project_id IN(SELECT "projects"."id" FROM "projects" INNER JOIN "project_authorizations" ON "projects"."id" = "project_authorizations"."project_id" WHERE "project_authorizations"."user_id" = 1315784 AND (project_authorizations.access_level >= 20))))) AND "projects"."namespace_id" IN (WITH RECURSIVE "base_and_descendants" AS (SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" IN ('Group') AND "namespaces"."id" = 9970
UNION
SELECT "namespaces".* FROM "namespaces", "base_and_descendants" WHERE "namespaces"."type" IN ('Group') AND "namespaces"."parent_id" = "base_and_descendants"."id") SELECT "id" FROM "base_and_descendants" AS "namespaces") AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1315784 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (10,20)) AND ("project_features"."issues_access_level" IN (NULL,20) OR ("project_features"."issues_access_level" = 10 AND EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1315784 AND (project...
ActiveRecord::StatementInvalid: PG::QueryCanceled: ERROR: canceling statement due to statement timeout
: SELECT issues.*, (SELECT MIN("label_priorities"."priority") FROM "labels" INNER JOIN "label_links" ON "label_links"."label_id" = "labels"."id" LEFT OUTER JOIN "label_priorities" ON "labels"."id" = "label_priorities"."label_id" WHERE (label_priorities.project_id = issues.project_id) AND (label_links.target_id = issues.id) AND "label_links"."target_type" = 'Issue') AS highest_priority FROM "issues" INNER JOIN "projects" ON "projects"."id" = "issues"."project_id" INNER JOIN "label_links" ON "label_links"."target_id" = "issues"."id" AND "label_links"."target_type" = 'Issue' INNER JOIN "labels" ON "labels"."id" = "label_links"."label_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE (
issues.confidential IS NOT TRUE
OR (issues.confidential = TRUE
AND (issues.author_id = 1315784
OR EXISTS (SELECT TRUE FROM issue_assignees WHERE user_id = 1315784 AND issue_id = issues.id)
OR issues.project_id IN(SELECT "projects"."id" FROM "projects" INNER JOIN "project_authorizations" ON "projects"."id" = "project_authorizations"."project_id" WHERE "project_authorizations"."user_id" = 1315784 AND (project_authorizations.access_level >= 20))))) AND "projects"."namespace_id" IN (WITH RECURSIVE "base_and_descendants" AS (SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" IN ('Group') AND "namespaces"."id" = 9970
UNION
SELECT "namespaces".* FROM "namespaces", "base_and_descendants" WHERE "namespaces"."type" IN ('Group') AND "namespaces"."parent_id" = "base_and_descendants"."id") SELECT "id" FROM "base_and_descendants" AS "namespaces") AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1315784 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (10,20)) AND ("project_features"."issues_access_level" IN (NULL,20) OR ("project_features"."issues_access_level" = 10 AND EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1315784 AND (project_authorizations.project_id = projects.id)))) AND ("issues"."state" IN ('opened')) AND "labels"."title" IN ('Manage', 'backend') AND ("issues"."id" NOT IN (SELECT "issues"."id" FROM "issues" INNER JOIN "projects" ON "projects"."id" = "issues"."project_id" INNER JOIN "label_links" ON "label_links"."target_id" = "issues"."id" AND "label_links"."target_type" = 'Issue' INNER JOIN "labels" ON "labels"."id" = "label_links"."label_id" INNER JOIN "issue_assignees" ON "issue_assignees"."issue_id" = "issues"."id" INNER JOIN "users" ON "users"."id" = "issue_assignees"."user_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE (
issues.confidential IS NOT TRUE
OR (issues.confidential = TRUE
AND (issues.author_id = 1315784
OR EXISTS (SELECT TRUE FROM issue_assignees WHERE user_id = 1315784 AND issue_id = issues.id)
OR issues.project_id IN(SELECT "projects"."id" FROM "projects" INNER JOIN "project_authorizations" ON "projects"."id" = "project_authorizations"."project_id" WHERE "project_authorizations"."user_id" = 1315784 AND (project_authorizations.access_level >= 20))))) AND "projects"."namespace_id" IN (WITH RECURSIVE "base_and_descendants" AS (SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" IN ('Group') AND "namespaces"."id" = 9970
UNION
SELECT "namespaces".* FROM "namespaces", "base_and_descendants" WHERE "namespaces"."type" IN ('Group') AND "namespaces"."parent_id" = "base_and_descendants"."id") SELECT "id" FROM "base_and_descendants" AS "namespaces") AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1315784 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (10,20)) AND ("project_features"."issues_access_level" IN (NULL,20) OR ("project_features"."issues_access_level" = 10 AND EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1315784 AND (project_authorizations.project_id = projects.id)))) AND ("issues"."state" IN ('opened')) AND "labels"."title" IN ('Manage', 'backend') AND "users"."id" IN (SELECT "lists"."user_id" FROM "lists" WHERE "lists"."board_id" = 759099 AND "lists"."list_type" = 3 AND ("lists"."user_id" IS NOT NULL) ORDER BY "lists"."list_type" ASC, "lists"."position" ASC) GROUP BY "issues"."id" HAVING COUNT(DISTINCT labels.title) = 2 ORDER BY "issues"."id" DESC)) AND (NOT (EXISTS (SELECT "label_links".* FROM "label_links" WHERE (label_links.target_type = 'Issue' AND label_links.target_id = issues.id) AND ("label_links"."label_id" = 7715351 OR "label_links"."label_id" IS NULL) LIMIT 1))) GROUP BY "issues"."id" HAVING COUNT(DISTINCT labels.title) = 2 ORDER BY relative_position ASC NULLS LAST, highest_priority ASC NULLS LAST, id DESC LIMIT 21 OFFSET 0
Happened when trying to load the following board: https://gitlab.com/groups/gitlab-org/-/boards/759099?=&label_name[]=Manage&label_name[]=backend
This request results in HTTP/500
: https://gitlab.com/-/boards/759099/lists/1992082/issues?id=1992082&page=1&=&label_name=Manage%2Cbackend
/cc @ifarkas
Edited by 🤖 GitLab Bot 🤖