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
- Enable
use_namespace_traversal_ids_for_work_items_finder - Go to the
/-/epicspage of a Group - 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.