FIX: fix_missing_s3 task fails on failed upload (take 2) (#13660)

ref: 935aadbfdd
This commit is contained in:
Arpit Jalan 2021-07-07 18:53:43 +05:30 committed by GitHub
parent 935aadbfdd
commit 236d6d91b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1037,10 +1037,17 @@ def fix_missing_s3
else else
# we do not fix sha, it may be wrong for arbitrary reasons, if we correct it # we do not fix sha, it may be wrong for arbitrary reasons, if we correct it
# we may end up breaking posts # we may end up breaking posts
upload.assign_attributes(etag: fixed_upload.etag, url: fixed_upload.url, verification_status: Upload.verification_statuses[:unchecked]) save_error = nil
saved = upload.save(validate: false) begin
upload.assign_attributes(etag: fixed_upload.etag, url: fixed_upload.url, verification_status: Upload.verification_statuses[:unchecked])
upload.save!(validate: false)
rescue => save_error
# url might be null
end
if saved if save_error
puts "Failed to save upload #{saved.errors.full_messages}"
else
OptimizedImage.where(upload_id: upload.id).destroy_all OptimizedImage.where(upload_id: upload.id).destroy_all
rebake_ids = PostUpload.where(upload_id: upload.id).pluck(:post_id) rebake_ids = PostUpload.where(upload_id: upload.id).pluck(:post_id)
@ -1050,8 +1057,6 @@ def fix_missing_s3
post.rebake! post.rebake!
end end
end end
else
puts "Failed to save upload #{saved.errors.full_messages}"
end end
end end
end end