Skip to content

Resolve "Geo: Use a separate column to rate limit verification checksum workers"

What does this MR do?

Allows Geo verification concurrency to be made configurable. Currently, it's hardcoded to 100 on the primary and 1000 on the secondary.

Are there points in the code the reviewer needs to double check?

This represents a decrease in the default secondary capacity, but I think that's OK. Repository verification is not widely deployed, being hidden behind a feature flag at present.

I considered have two columns - one for primary, one for secondary - but this seemed unnecessary since a primary can never be a secondary and vice-versa. The behaviour gated by the feature is very similar for either type of node, so it makes sense for the number to be carried across over, e.g., a planned failover.

It shouldn't go in application_settings because the correct value depends on how much capacity the Geo node has. Different Geo nodes share the same application_settings table but may have wildly different capacity levels, especially in the "large HA primary, small backup secondary" case.

Why was this MR needed?

Screenshots (if relevant)

Edit / new primary:

primary-edit

Edit / new secondary:

edit-secondary

Does this MR meet the acceptance criteria?

  • Changelog entry added, if necessary
  • Documentation created/updated
  • API support added
  • Tests added for this feature/bug
  • Conform by the code review guidelines
    • Has been reviewed by a UX Designer
    • Has been reviewed by a Frontend maintainer
    • Has been reviewed by a Backend maintainer
    • Has been reviewed by a Database specialist
  • EE specific content should be in the top level /ee folder
  • Conform by the merge request performance guides
  • Conform by the style guides
  • If you have multiple commits, please combine them into a few logically organized commits by squashing them
  • Internationalization required/considered
  • If paid feature, have we considered GitLab.com plan and how it works for groups and is there a design for promoting it to users who aren't on the correct plan
  • End-to-end tests pass (package-qa manual pipeline job)

What are the relevant issue numbers?

Closes #5172 (closed)

Edited by Nick Thomas

Merge request reports