diff --git a/app/controllers/groups_controller.rb b/app/controllers/groups_controller.rb index 7a632eb8f6a..a9530d1aac0 100644 --- a/app/controllers/groups_controller.rb +++ b/app/controllers/groups_controller.rb @@ -321,8 +321,14 @@ class GroupsController < ApplicationController )) else users.each do |user| - group.add(user) - GroupActionLogger.new(current_user, group).log_add_user_to_group(user) + begin + group.add(user) + GroupActionLogger.new(current_user, group).log_add_user_to_group(user) + rescue ActiveRecord::RecordNotUnique + # Under concurrency, we might attempt to insert two records quickly and hit a DB + # constraint. In this case we can safely ignore the error and act as if the user + # was added to the group. + end end render json: success_json.merge!(