此合并请求的源项目已被删除。
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 tocollection_check_boxes
(or a facsimile thereof) isn't trivial - Should
pick_repository_storage
be a method ofApplicationSetting
, orProject
? 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 is
serialize :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)
Does this MR meet the acceptance criteria?
-
CHANGELOG entry added -
Documentation created/updated -
API support added - Tests
-
Added for this feature/bug -
All builds are passing
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Branch has no merge conflicts with master
(if it does - rebase it please) -
Squashed related commits together
What are the relevant issue numbers?
Closes #24059 (closed)