diff options
Diffstat (limited to 'app/models/merge_request_diff_file.rb')
-rw-r--r-- | app/models/merge_request_diff_file.rb | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/app/models/merge_request_diff_file.rb b/app/models/merge_request_diff_file.rb index 36902e43a77..04b322ef5a6 100644 --- a/app/models/merge_request_diff_file.rb +++ b/app/models/merge_request_diff_file.rb @@ -25,6 +25,10 @@ class MergeRequestDiffFile < ApplicationRecord return '' if fetched_diff.blank? encode_utf8(fetched_diff) if fetched_diff.respond_to?(:encoding) + rescue StandardError => e + log_exception('Failed fetching merge request diff', e) + + '' end def diff @@ -75,15 +79,19 @@ class MergeRequestDiffFile < ApplicationRecord content rescue StandardError => e + log_exception('Cached external diff export failed', e) + + diff + end + + def log_exception(message, exception) log_payload = { - message: 'Cached external diff export failed', + message: message, merge_request_diff_file_id: id, merge_request_diff_id: merge_request_diff&.id } - Gitlab::ExceptionLogFormatter.format!(e, log_payload) + Gitlab::ExceptionLogFormatter.format!(exception, log_payload) Gitlab::AppLogger.warn(log_payload) - - diff end end |