From f741673638e11e53cd65c70dc5b266735357ad14 Mon Sep 17 00:00:00 2001 From: ThibG Date: Thu, 8 Jun 2017 13:40:11 +0200 Subject: [PATCH] Fixes #3605 by returning account from database in case of race condition (#3606) --- app/services/follow_remote_account_service.rb | 9 +++++++-- 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 index 1e8a53c2d4..8558e6d022 100644 --- 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