Skip to content

Cleanup stale +deleted repo paths on project removal (adjusts project removal bug)

What does this MR do?

https://gitlab.com/gitlab-org/gitlab-ce/issues/46146#note_84727526 discussions show that:

  1. When removing projects, we can end-up leaving the +deleted repo path dirty and not successfully removing the non-deleted namespace (mv process is not atomic and can be killed without fully moving the path).
  2. In order to solve that, we're adding a clean-up phase on ensure which will schedule possible staled +deleted path deletion. Note that we don't check the current state (if there is or not a repo) in order to schedule the deletion. That's intentional in order to leverage Gitlab::GitalyClient::NamespaceService#remove idempotency and ensure consistency.

What are the relevant issue numbers?

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/46146

Does this MR meet the acceptance criteria?

Edited by Oswaldo Ferreira

Merge request reports