Skip to content

Use FastDestroy for deleting uploads

Jan Provaznik requested to merge jprovazn-fast-upload-delete into master

What does this MR do?

The idea is to:

  • use similar approach as in app/models/ci/build_trace_chunks
  • gather list of file paths when deleting a project, in after commit delete these paths
  • do not use carrier wave for this (so we avoid building/using deleted models)
  • deletion of files is done asynchronously in batches of 100

TODO

  • make sure that all models use model id in file path (so there is no problem if model with same name is recreated before uploads are really deleted)
  • schedule deletion asynchronously in batches and in parallel using sidekiq
  • add tests

Are there points in the code the reviewer needs to double check?

Why was this MR needed?

Closes #46069 (closed)

Screenshots (if relevant)

Does this MR meet the acceptance criteria?

What are the relevant issue numbers?

Closes #46069 (closed)

Edited by Kamil Trzciński

Merge request reports