diff options
Diffstat (limited to 'app/models/bulk_imports/export_upload.rb')
-rw-r--r-- | app/models/bulk_imports/export_upload.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/app/models/bulk_imports/export_upload.rb b/app/models/bulk_imports/export_upload.rb index 00f8e8f1304..0560933ed93 100644 --- a/app/models/bulk_imports/export_upload.rb +++ b/app/models/bulk_imports/export_upload.rb @@ -11,6 +11,14 @@ module BulkImports mount_uploader :export_file, ExportUploader + # This causes CarrierWave v1 and v3 (but not v2) to upload the file to + # object storage *after* the database entry has been committed to the + # database. This avoids idling in a transaction. Similar to `ImportExportUpload`. + if Gitlab::Utils.to_boolean(ENV.fetch('ENABLE_STORE_EXPORT_FILE_AFTER_COMMIT', true)) + skip_callback :save, :after, :store_export_file! + set_callback :commit, :after, :store_export_file! + end + def retrieve_upload(_identifier, paths) Upload.find_by(model: self, path: paths) end |