Project deletion executes enormous number of deletion requests to ObjectStorage
Summary
When a project is deleted, all artifacts/lfs/uploads belong to the project will be deleted, too. However, if those files are stored in ObjectStorage, ProjectDestroyWorker
executes deletion requests to ObjectStorage for the number of files via CarrierWave/Fog. This raises a couple of concerns,
- This seems inefficient as it deletes files one by one. Can we consider mass-deletion within one request?
- If DNS error happens, the delete operation could be interrupted. Is the current project deletion logic resilient against to the problem?
This was originally raised at https://gitlab.com/gitlab-org/gitlab-ce/issues/44378#note_63726655.
Possible fixes
(If you can, link to the line of code that might be responsible for the problem)