Add cron worker to automatically rollout zoekt exact code search to paid namespaces
What does this MR do and why?
Duo summary:
This merge request introduces a new Zoekt rollout system for search functionality. It adds a planning service to determine how to distribute search indices across available nodes, a provisioning service to execute the planned changes, and a rollout service to orchestrate the entire process. The changes also include a new worker to periodically run the rollout process, along with associated configuration and feature flag settings. Additionally, there are minor adjustments to existing models and scopes to support these new features. Overall, this update aims to improve the management and distribution of search indices across the system's infrastructure.
This is all behind the feature flag zoekt_rollout_worker
References
Please include cross links to any resources that are relevant to this MR. This will give reviewers and future readers helpful context to give an efficient review of the changes introduced.
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
Before | After |
---|---|
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
Merge request reports
Activity
assigned to @johnmason
added pipelinetier-1 label
- A deleted user
added backend databasereview pending labels
17 Warnings This merge request is quite big (640 lines changed), please consider splitting it into multiple merge requests. 2de67dad: Commits that change 30 or more lines across at least 3 files should describe these changes in the commit body. For more information, take a look at our Commit message guidelines. 3919b1b6: The commit subject must contain at least 3 words. For more information, take a look at our Commit message guidelines. 1213237b: The commit subject must contain at least 3 words. For more information, take a look at our Commit message guidelines. b8101696: The commit subject must contain at least 3 words. For more information, take a look at our Commit message guidelines. e52e3723: The commit subject must contain at least 3 words. For more information, take a look at our Commit message guidelines. d62b2e68: The commit subject must contain at least 3 words. For more information, take a look at our Commit message guidelines. 42886dd2: Commits that change 30 or more lines across at least 3 files should describe these changes in the commit body. For more information, take a look at our Commit message guidelines. a568df5b: Commits that change 30 or more lines across at least 3 files should describe these changes in the commit body. For more information, take a look at our Commit message guidelines. 479627ec: The commit subject must contain at least 3 words. For more information, take a look at our Commit message guidelines. fe701a71: The commit subject must contain at least 3 words. For more information, take a look at our Commit message guidelines. 8fc3c64b: The commit subject must contain at least 3 words. For more information, take a look at our Commit message guidelines. 8fc3c64b: Commits that change 30 or more lines across at least 3 files should describe these changes in the commit body. For more information, take a look at our Commit message guidelines. 21e71186: The commit subject must contain at least 3 words. For more information, take a look at our Commit message guidelines. cb4270d6: The commit subject must contain at least 3 words. For more information, take a look at our Commit message guidelines. This merge request has more than 20 commits which may cause issues in some of the jobs. If you see errors like missing commits, please consider squashing some commits so it is within 20 commits. This merge request does not refer to an existing milestone. 2 Messages CHANGELOG missing: If this merge request needs a changelog entry, add the
Changelog
trailer to the commit message you want to add to the changelog.If this merge request doesn't need a CHANGELOG entry, feel free to ignore this message.
This merge request adds or changes files that require a review from the Database team. This merge request requires a database review. To make sure these changes are reviewed, take the following steps:
- Ensure the merge request has database and databasereview pending labels. If the merge request modifies database files, Danger will do this for you.
- Prepare your MR for database review according to the docs.
- Assign and mention the database reviewer suggested by Reviewer Roulette.
The following files require a review from the Database team:
ee/app/services/search/zoekt/provisioning_service.rb
Reviewer roulette
Category Reviewer Maintainer backend @minahilnichols
(UTC-5, same timezone as author)
@partiaga
(UTC+11, 16 hours ahead of author)
database @alexpooley
(UTC+8, 13 hours ahead of author)
@Quintasan
(UTC+1, 6 hours ahead of author)
Please refer to documentation page for guidance on how you can benefit from the Reviewer Roulette, or use the GitLab Review Workload Dashboard to find other available reviewers.
If needed, you can retry the
danger-review
job that generated this comment.Generated by
DangerEdited by Ghost User- Resolved by John Mason
@johnmason
- please see the following guidance and update this merge request.1 Error Please add typebug typefeature, or typemaintenance label to this merge request.
- Resolved by John Mason
- Resolved by John Mason
added 2 commits
added 2 commits
- Resolved by John Mason
mentioned in issue gitlab-com/gl-infra/production#18976 (closed)
added 3 commits