Geo: Handle moving project repository storage
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Problem
Apparently Projects::UpdateRepositoryStorageService
is called when an admin changes a project's shard.
- It physically moves a repository from one storage to another, on the primary
- The secondary fetches the whole repo into the new storage => OK but not ideal
- The secondary orphans the repo in the old storage => Not OK
- It leaves a pool repository
- It is known that secondaries don't handle object pools at the moment => Therefore, this side effect does not need to be replicated
Proposal
-
Properly replicate the side effects of Projects::UpdateRepositoryStorageService
on all secondaries. Perhaps we need to add a single Geo event to do so?
Edited by 🤖 GitLab Bot 🤖