[Feature flag] Rollout of projects_finder_authorized_cte

<🤖>

Feature flag rollout

Flag: projects_finder_authorized_cte Type: gitlab_com_derisk Group: group::organizations

What

ProjectsFinder, when scoped to a user's own memberships (/api/v4/projects?membership=true), joins projects directly against project_authorizations and orders by projects.name. On users with many authorizations this can pick a slow plan and yield QueryCanceled errors.

Behind this flag, the finder instead materializes the authorized project ids into a MATERIALIZED CTE (user_projects) and joins projects onto it, stabilizing the query plan.

Rollout steps

  • Enable on staging
  • Enable for a subset of .com users / groups
  • Enable globally on .com
  • Remove the feature flag

Rollback

/chatops run feature set projects_finder_authorized_cte false

</🤖>

Edited by 🤖 GitLab Bot 🤖