summaryrefslogtreecommitdiff
path: root/app/models/merge_request_diff_file.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/merge_request_diff_file.rb')
-rw-r--r--app/models/merge_request_diff_file.rb16
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