Skip to content

Ignore exclude_projects when using traversal_ids

What does this MR do and why?

Ignore exclude_projects when using traversal_ids

The exclude_projects param was an optimization when querying epic work items. However, this optimization is not necessary and counterproductive when we use traversal_ids to query the work item hierarchy.

We therefore ignore the parameter when the feature flag is enabled so we can rollout the feature flag for the current epic lists. This already improves the performance of the epic and issue list query today, before consolidated lists.

References

Screenshots or screen recordings

Before After

How to set up and validate locally

  1. Enable use_namespace_traversal_ids_for_work_items_finder
  2. Go to the /-/epics page of a Group
  3. It still works, but now the query is different as it no longer excludes groups

Epic List Query

Current (FF disabled) Current (with FF enabled) After this MR (With FF enable)
https://console.postgres.ai/gitlab/gitlab-production-main/sessions/45158/commands/138555 https://console.postgres.ai/gitlab/gitlab-production-main/sessions/45158/commands/138554 https://console.postgres.ai/gitlab/gitlab-production-main/sessions/45158/commands/138552

With consolidated lists, the query will become even more performant for groups: https://console.postgres.ai/gitlab/gitlab-production-main/sessions/45158/commands/138557

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Nicolas Dular

Merge request reports

Loading