Skip to content
Snippets Groups Projects

Add cron worker to automatically rollout zoekt exact code search to paid namespaces

Merged John Mason requested to merge jm-namespace-assignment-service into master

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.

Edited by John Mason

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Ghost User
  • John Mason added 6 commits

    added 6 commits

    Compare with previous version

  • John Mason added 2 commits

    added 2 commits

    Compare with previous version

  • John Mason added 2 commits

    added 2 commits

    • 2d3a9bcd - Add assignment manager updates
    • d68a92d3 - Add assignment manager updates

    Compare with previous version

  • Dmitry Gruzd
  • John Mason added 1 commit

    added 1 commit

    Compare with previous version

  • John Mason changed title from Draft: V2 zoekt namespace assignment service to Draft: CR approach for zoekt assignments

    changed title from Draft: V2 zoekt namespace assignment service to Draft: CR approach for zoekt assignments

  • John Mason changed the description

    changed the description

  • John Mason added 1 commit

    added 1 commit

    Compare with previous version

  • John Mason added 1 commit

    added 1 commit

    Compare with previous version

  • John Mason added 3 commits

    added 3 commits

    Compare with previous version

  • John Mason added 1 commit

    added 1 commit

    Compare with previous version

  • John Mason added 1 commit

    added 1 commit

    Compare with previous version

  • John Mason added 2 commits

    added 2 commits

    • dd7ce6e1 - Add updated fetch for nodes with unclaimed storage
    • 6db4eb15 - Add updates for improved planning service

    Compare with previous version

  • John Mason added 2 commits

    added 2 commits

    • 7ba15118 - Add updates for improved planning service
    • 590ac5f3 - Add nil for no upper bound

    Compare with previous version

  • John Mason added 1 commit

    added 1 commit

    Compare with previous version

  • Dmitry Gruzd
  • Dmitry Gruzd changed the description

    changed the description

  • John Mason added 3 commits

    added 3 commits

    • baa9a27a - Use configurable max indices per replica
    • 260b390b - Simplify planning service
    • 8624d0bd - Allow node dependency injection

    Compare with previous version

  • John Mason added 3 commits

    added 3 commits

    • b495a643 - Add provisioning service changes
    • 6f74e73b - Add provisioning service changes
    • 2cc93492 - Update planning service

    Compare with previous version

  • A deleted user added database label

    added database label

  • Ghost User
  • Ghost User
  • Dmitry Gruzd
  • John Mason added 1269 commits

    added 1269 commits

    Compare with previous version

  • John Mason changed the description

    changed the description

  • John Mason added 1 commit

    added 1 commit

    Compare with previous version

  • John Mason added 1 commit

    added 1 commit

    Compare with previous version

  • John Mason added 1 commit

    added 1 commit

    Compare with previous version

  • John Mason added 1 commit

    added 1 commit

    • 44151ef7 - Make pre ready limit an argument

    Compare with previous version

  • John Mason added 1 commit

    added 1 commit

    Compare with previous version

  • John Mason added 2 commits

    added 2 commits

    • a070cd8e - Update planning service: remove sort by repo size
    • f6a52211 - Update planning service: remove failures

    Compare with previous version

  • John Mason added 2 commits

    added 2 commits

    • 3523b722 - Use default storage bytes for new indices
    • f41d72f2 - Create empty indices

    Compare with previous version

  • John Mason added 1 commit

    added 1 commit

    Compare with previous version

  • John Mason mentioned in issue #508836

    mentioned in issue #508836

  • mentioned in task #515867 (closed)

  • Ravi Kumar added 5549 commits

    added 5549 commits

    Compare with previous version

  • 2 Warnings
    :warning: This merge request is quite big (1276 lines changed), please consider splitting it into multiple merge requests.
    :warning: 3264d80f: 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.
    1 Message
    :book: 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.

    Reviewer roulette

    Category Reviewer Maintainer
    backend @zmartins profile link current availability (UTC+1, 6 hours ahead of author) @alejandro profile link current availability (UTC-5, same timezone as author)
    database @acroitor profile link current availability (UTC+2, 7 hours ahead of author) @jon_jenkins profile link current availability (UTC-6, 1 hour behind 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.

    Sidekiq queue changes

    This merge request contains changes to Sidekiq queues. Please follow the documentation on changing a queue's urgency.

    These queues were added:

    • cronjob:search_zoekt_rollout

    If needed, you can retry the :repeat: danger-review job that generated this comment.

    Generated by :no_entry_sign: Danger

    Edited by ****
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading