Skip to content

Resolve "Introduce round-robin project creation to spread load over multiple shards"

What does this MR do?

Allow multiple shards to be enabled in the admin settings page, balancing project creation across all enabled shards.

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

  • f.select ..., multiple: true isn't the most beautiful UI in the world, but switching to collection_check_boxes (or a facsimile thereof) isn't trivial
  • Should pick_repository_storage be a method of ApplicationSetting, or Project? It's going to accrete logic over time so perhaps it should be its own class already?
  • This is written to avoid the need for a database migration, so it isserialize :repository_storage without , Array. This is tested, but alternatives include:
    • Add a database migration
    • Write a custom Coder that will accept a String or Array in load and always `dump an Array.

Why was this MR needed?

Screenshots (if relevant)

Screen_Shot_2016-11-03_at_14.42.41

Does this MR meet the acceptance criteria?

What are the relevant issue numbers?

Closes #24059 (closed)

Merge request reports