From: Claire Date: Wed, 6 Apr 2022 18:57:52 +0000 (+0200) Subject: Fix inconsistency in error handling when removing a status (#17974) X-Git-Url: https://git.xn--scling-oua.cat.family/?a=commitdiff_plain;h=abb11778d7d9ac04fe1feeccf5cefc6d2ed58780;p=mastodon.git Fix inconsistency in error handling when removing a status (#17974) Not completely sure this could actually have any ill effect, but if `RemoveStatusService` fails to acquire a lock in an `ActivityPub::ProcessingWorker` job processing a `Delete`, the status is currently discarded and causes a job failure but the next time the job is attempted, it will skip deleting the status due to it being discarded. This commit makes the behavior of `RemoveStatusService` a bit more consistent in case of failure to acquire the lock. --- diff --git a/app/services/remove_status_service.rb b/app/services/remove_status_service.rb index 159aec1f2..41730154d 100644 --- a/app/services/remove_status_service.rb +++ b/app/services/remove_status_service.rb @@ -17,10 +17,10 @@ class RemoveStatusService < BaseService @account = status.account @options = options - @status.discard - RedisLock.acquire(lock_options) do |lock| if lock.acquired? + @status.discard + remove_from_self if @account.local? remove_from_followers remove_from_lists