Skip to content

Stop orphaning project import/export cache files when using object storage

What does this MR do?

uploads/-/system/tmp/cache currently grows forever with each project import or export when object storage is enabled.

This lets CarrierWave do its thing as usual and remove the cache file and directory after copying the file to object storage.

From https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/27487#note_162562219:

We should not be overriding move_to_store with true because that only works for CarrierWave::Storage::File, and this is why GitlabUploader does:

  def move_to_store
    file_storage?
  end

Whereas it's safe to override with false to force copy+delete.

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

Does this MR meet the acceptance criteria?

Conformity

Performance and testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by Michael Kozono

Merge request reports