Skip to content

Timeout searching group issues

https://sentry.gitlap.com/gitlab/gitlabcom/issues/190517/

ActiveRecord::StatementInvalid: PG::QueryCanceled: ERROR:  canceling statement due to statement timeout
: 



SELECT "issues".*
FROM "issues"
INNER JOIN "projects" ON "projects"."id" = "issues"."project_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 = 1644208
				OR EXISTS (
					SELECT TRUE
					FROM issue_assignees
					WHERE user_id = 1644208
						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" = 1644208
						AND (project_authorizations.access_level >= 20)
					)
				)
			)
		)
	AND ("issues"."state" IN ('opened'))
	AND (
		"issues"."title" ILIKE '%actions%'
		OR "issues"."description" ILIKE '%actions%'
		)
	AND "projects"."archived" = 'f'
	AND "projects"."namespace_id" IN (
		WITH RECURSIVE "base_and_descendants" AS (
				SELECT "namespaces".*
				FROM "namespaces"
				WHERE "namespaces"."type" IN ('Group')
					AND "namespaces"."id" = 2022611
				
				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 (
		"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" = 1644208
					AND (project_authorizations.project_id = projects.id)
				)
			)
		)
	AND "projects"."archived" = 'f'
ORDER BY "issues"."created_at" DESC
	,"issues"."id" DESC LIMIT 20 OFFSET 0


Kibana entries:

Edited by Andreas Brandl