This repository was archived by the owner on Sep 30, 2024. It is now read-only.
Performance improvements for workspace resolution #36260
Open
Description
Workspace resolution is currently resource-hungry and can be slow for larger instances.
There are a few things I've identified that could be good improvements here:
- We can run the search from the worker itself. The search API has been refactored to run on any service now. This will help with resource contention on the frontend while the workspace resolver is running. 1.5d
- There are currently two things that need to be solved before we can make it happen:
- The logic to get user settings is still in the GQL layer, it would need to be factored out (good refactor in general)
- The worker pod doesn't have all the env vars that are required to run all kinds of searches. Ideally it could get these config values from the frontend instead of us duplicating all the env vars across services. Done
- There are currently two things that need to be solved before we can make it happen:
- Parallelize resolving
on
sections 1.5d - Investigate if we can use gitserver directly instead of search for
FindDirectoriesInRepos
, this runs for each repository. Ideally this also uses a batch method. 1-5d? needs investigation