mirror of
https://github.com/mastodon/mastodon.git
synced 2024-12-22 22:15:23 +01:00
Raise Mastodon::RaceConditionError if Redis lock failed (#7511)
An explicit error allows user agents to know the error and Sidekiq to retry.
This commit is contained in:
parent
65d6b253fb
commit
55fd55714a
6 changed files with 12 additions and 0 deletions
|
@ -8,6 +8,8 @@ class MediaProxyController < ApplicationController
|
|||
if lock.acquired?
|
||||
@media_attachment = MediaAttachment.remote.find(params[:id])
|
||||
redownload! if @media_attachment.needs_redownload? && !reject_media?
|
||||
else
|
||||
raise Mastodon::RaceConditionError
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -11,6 +11,8 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
|
|||
if lock.acquired?
|
||||
@status = find_existing_status
|
||||
process_status if @status.nil?
|
||||
else
|
||||
raise Mastodon::RaceConditionError
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -15,6 +15,8 @@ class OStatus::Activity::Creation < OStatus::Activity::Base
|
|||
@status = find_status(id)
|
||||
return [@status, false] unless @status.nil?
|
||||
@status = process_status
|
||||
else
|
||||
raise Mastodon::RaceConditionError
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -23,6 +23,8 @@ class ActivityPub::ProcessAccountService < BaseService
|
|||
create_account if @account.nil?
|
||||
update_account
|
||||
process_tags
|
||||
else
|
||||
raise Mastodon::RaceConditionError
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -23,6 +23,8 @@ class FetchLinkCardService < BaseService
|
|||
if lock.acquired?
|
||||
@card = PreviewCard.find_by(url: @url)
|
||||
process_url if @card.nil? || @card.updated_at <= 2.weeks.ago
|
||||
else
|
||||
raise Mastodon::RaceConditionError
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -49,6 +49,8 @@ class ResolveAccountService < BaseService
|
|||
else
|
||||
handle_ostatus
|
||||
end
|
||||
else
|
||||
raise Mastodon::RaceConditionError
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue