Skip to content

500 error when navigating to `/explore/snippets`

https://sentry.gitlab.net/gitlab/gitlabcom/issues/531372/

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
...
(203 additional frame(s) were not displayed)

ActiveRecord::StatementInvalid: PG::QueryCanceled: ERROR:  canceling statement due to statement timeout
: SELECT  "snippets".* FROM "snippets" WHERE (snippets.project_id IN (SELECT "id" FROM (SELECT "projects".* FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 419655 AND (project_authorizations.project_id = projects.id))) AND ("project_features"."snippets_access_level" IN (NULL,20,30) OR ("project_features"."snippets_access_level" = 10 AND EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 419655 AND (project_authorizations.project_id = projects.id))))
UNION
SELECT "projects".* FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."visibility_level" IN (10, 20) AND ("project_features"."snippets_access_level" IN (NULL,20,30) OR ("project_features"."snippets_access_level" = 10 AND EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 419655 AND (project_authorizations.project_id = projects.id))))) projects) OR "snippets"."project_id" IS NULL) AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 419655 AND (project_authorizations.project_id = snippets.project_id)) OR snippets.visibility_level IN (10,20) or snippets.author_id = (419655))  ORDER BY created_at DESC LIMIT 20 OFFSET 0
ActionView::Template::Error: PG::QueryCanceled: ERROR:  canceling statement due to statement timeout
: SELECT  "snippets".* FROM "snippets" WHERE (snippets.project_id IN (SELECT "id" FROM (SELECT "projects".* FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 419655 AND (project_authorizations.project_id = projects.id))) AND ("project_features"."snippets_access_level" IN (NULL,20,30) OR ("project_features"."snippets_access_level" = 10 AND EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 419655 AND (project_authorizations.project_id = projects.id))))
UNION
SELECT "projects".* FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."visibility_level" IN (10, 20) AND ("project_features"."snippets_access_level" IN (NULL,20,30) OR ("project_features"."snippets_access_level" = 10 AND EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 419655 AND (project_authorizations.project_id = projects.id))))) projects) OR "snippets"."project_id" IS NULL) AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 419655 AND (project_authorizations.project_id = snippets.project_id)) OR snippets.visibility_level IN (10,20) or snippets.author_id = (419655))  ORDER BY created_at DESC LIMIT 20 OFFSET 0

ActionView::Template::Error: PG::QueryCanceled: ERROR:  canceling statement due to statement timeout
: SELECT  "snippets".* FROM "snippets" WHERE (snippets.project_id IN (SELECT "id" FROM (SELECT "projects".* FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 419655 AND (project_authorizations.project_id = projects.id))) AND ("project_features"."snippets_access_level" IN (NULL,20,30) OR ("project_features"."snippets_access_level" = 10 AND EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 419655 AND (project_authorizations.project_id = projects.id))))
UNION
SELECT "projects".* FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."visibility_level" IN (10, 20) AND ("project_features"."snippets_access_level" IN (NULL,20,30) OR ("project_features"."snippets_access_level" = 10 AND EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 419655 AND (project_authorizations.project_id = projects.id))))) projects) OR "snippets"."project_id" IS NULL) AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 419655 AND (project_authorizations.project_id = snippets.project_id)) OR snippets.visibility_level IN (10,20) or snippets.author_id = (419655))  ORDER BY created_at DESC LIMIT 20 OFFSET 0