Geo: Preserve "Repository synchronization concurrency limit"
Problem
At the moment, SSF uses files_max_capacity to limit the number of concurrent replication jobs across all replicators.
Including Group wiki repos and Snippet repos.
Soon, Project repos and Project wiki repos will be migrated to use SSF code.
We should use the existing repos_max_capacity setting to manage repos separately from blobs.
Proposal 1
Before projects and wikis are migrated to SSF:
- Duplicate
Geo::RegistrySyncWorkertoGeo::RegistryRepositorySyncWorker - In
Geo::RegistryRepositorySyncWorker, use 1/10 ofrepos_max_capacityand scopedef replicator_classesto include only repository types - In
Geo::RegistrySyncWorker, scopedef replicator_classesto include only blob types - Add issue to &4623 (closed) to remember to do the next step "During the migration of projects and wikis" below.
During the migration of projects and wikis:
- In
Geo::RegistryRepositorySyncWorker, use the fullrepos_max_capacityin#max_capacitywhen the project and wikis SSF replication feature flag is enabled
Proposal 2 (Less ideal)
During the migration of projects and wikis:
- In
Geo::RegistrySyncWorker, use the fullrepos_max_capacityin#max_capacitywhen the project and wikis SSF replication feature flag is enabled - Open a follow up issue to respect repo and file concurrency limits properly rather than bunched into one
Edited by Michael Kozono