commit: f741673638e11e53cd65c70dc5b266735357ad14
parent: 0a0b9a271a8de84272ff2dafc96ef53db224bb21
Author: ThibG <thib@sitedethib.com>
Date: Thu, 8 Jun 2017 13:40:11 +0200
Fixes #3605 by returning account from database in case of race condition (#3606)
Diffstat:
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/app/services/follow_remote_account_service.rb b/app/services/follow_remote_account_service.rb
@@ -61,8 +61,13 @@ class FollowRemoteAccountService < BaseService
account.uri = get_account_uri(xml)
account.hub_url = hubs.first.attribute('href').value
- account.save!
- get_profile(body, account)
+ begin
+ account.save!
+ get_profile(body, account)
+ rescue ActiveRecord::RecordNotUnique
+ # The account has been added by another worker!
+ return Account.find_remote(confirmed_username, confirmed_domain)
+ end
account
end