Skip to content

Clean up CarrierWave's import/export files

Stan Hu requested to merge sh-cleanup-import-export into master

Unlike uploads that have been uploaded with Tempfile, the project import/export archives are stored in a temporary cache directory and remain there if:

  1. Object storage is enabled
  2. move_to_store is set to true.

CarrierWave will leave these files there until disk space runs out or a clean step is run manually.

If move_to_store is set to false, CarrierWave will remove the files after storing them. However, unlike a local file, with object storage, the file is still copied, so setting move_to_store to true doesn't buy us anything.

To ensure files are cleaned up, we can just inherit from the GitlabUploader implementation of move_to_store, which returns true if it's a local file, false otherwise.

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

Edited by Stan Hu

Merge request reports