summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Provaznik <jprovaznik@gitlab.com>2018-06-12 09:33:26 +0200
committerJan Provaznik <jprovaznik@gitlab.com>2018-06-12 09:34:07 +0200
commitcdd7dfc448fcb6bbcdb62aaac65a3af797f0f69a (patch)
tree8a11eb0832efcfae10d4d01db28278f5972c820f
parentc3f499e7c8656fa09b333b88950c70f7377f95f9 (diff)
downloadgitlab-ce-47513-upload-migration-lease-key-is-incorrect-for-non-mounted-uploaders.tar.gz
Override exclusive_lease_key method in RecordsUpload47513-upload-migration-lease-key-is-incorrect-for-non-mounted-uploaders
-rw-r--r--app/uploaders/object_storage.rb16
1 files changed, 10 insertions, 6 deletions
diff --git a/app/uploaders/object_storage.rb b/app/uploaders/object_storage.rb
index d8ec5a81968..f5b466a1aba 100644
--- a/app/uploaders/object_storage.rb
+++ b/app/uploaders/object_storage.rb
@@ -62,6 +62,15 @@ module ObjectStorage
upload.id)
end
+ def exclusive_lease_key
+ # For FileUploaders, model may have many uploaders. In that case
+ # we want to use exclusive key per upload, not per model to allow
+ # parallel migration
+ key_object = upload ? upload : model
+
+ "object_storage_migrate:#{key_object.class}:#{key_object.id}"
+ end
+
private
def current_upload_satisfies?(paths, model)
@@ -299,12 +308,7 @@ module ObjectStorage
end
def exclusive_lease_key
- # For FileUploaders, model may have many uploaders. In that case
- # we want to use exclusive key per upload, not per model to allow
- # parallel migration
- key_object = self.is_a?(RecordsUploads::Concern) && upload ? upload : model
-
- "object_storage_migrate:#{key_object.class}:#{key_object.id}"
+ "object_storage_migrate:#{model.class}:#{model.id}"
end
private