From 4e34363be7e2c6e78dcecc0c15bfa2eeec4de787 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Tue, 19 Mar 2019 17:49:38 +0100 Subject: Ignore failures on duplicates insert --- app/models/merge_request_diff.rb | 5 +++++ app/models/merge_request_diff_commit.rb | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/app/models/merge_request_diff.rb b/app/models/merge_request_diff.rb index 351a662ae83..577f1794ffe 100644 --- a/app/models/merge_request_diff.rb +++ b/app/models/merge_request_diff.rb @@ -308,6 +308,11 @@ class MergeRequestDiff < ActiveRecord::Base # Faster inserts Gitlab::Database.bulk_insert('merge_request_diff_files', rows) + rescue ActiveRecord::RecordNotUnique + ids = rows.map { |row| row[:merge_request_diff_id] }.uniq.sort + + Gitlab::Sentry.track_exception(e, extra: { ids: ids }) + Rails.logger.info("#{self.class.name}: rows inserted twice for IDs #{ids}") end def build_external_merge_request_diff_files(diffs) diff --git a/app/models/merge_request_diff_commit.rb b/app/models/merge_request_diff_commit.rb index 4ad3690512d..e6d6196675c 100644 --- a/app/models/merge_request_diff_commit.rb +++ b/app/models/merge_request_diff_commit.rb @@ -26,6 +26,11 @@ class MergeRequestDiffCommit < ActiveRecord::Base end Gitlab::Database.bulk_insert(self.table_name, rows) + rescue ActiveRecord::RecordNotUnique => e + ids = rows.map { |row| row[:merge_request_diff_id] }.uniq.sort + + Rails.logger.info("#{self.class.name}: rows inserted twice for IDs #{ids}") + Gitlab::Sentry.track_exception(e, extra: { ids: ids }) end def to_hash -- cgit v1.2.1