Commit 1899e9a2 authored by GitLab Bot's avatar GitLab Bot

Automatic merge of gitlab-org/gitlab-ce master

parents 342bcc72 11d6c7e2
...@@ -23,13 +23,23 @@ module RecordsUploads ...@@ -23,13 +23,23 @@ module RecordsUploads
return unless model return unless model
return unless file && file.exists? return unless file && file.exists?
Upload.transaction do # MySQL InnoDB may encounter a deadlock if a deletion and an
uploads.where(path: upload_path).delete_all # insert is in the same transaction due to its next-key locking
upload.delete if upload # algorithm, so we need to skip the transaction.
# https://gitlab.com/gitlab-org/gitlab-ce/issues/55161#note_131556351
self.upload = build_upload.tap(&:save!) if Gitlab::Database.mysql?
readd_upload
else
Upload.transaction { readd_upload }
end end
end end
def readd_upload
uploads.where(path: upload_path).delete_all
upload.delete if upload
self.upload = build_upload.tap(&:save!)
end
# rubocop: enable CodeReuse/ActiveRecord # rubocop: enable CodeReuse/ActiveRecord
def upload_path def upload_path
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment