Skip to content

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 🤖