Commit 58643cd5 authored by Sean McGivern's avatar Sean McGivern

Send schema cache to Sentry on MissingAttributeError

We don't know why this happens, so this is an attempt to debug the
issue by sending a full list of all columns ActiveRecord knows about
when the error is raised.
parent 5fc1d2ad
...@@ -813,7 +813,7 @@ GEM ...@@ -813,7 +813,7 @@ GEM
selenium-webdriver (3.12.0) selenium-webdriver (3.12.0)
childprocess (~> 0.5) childprocess (~> 0.5)
rubyzip (~> 1.2) rubyzip (~> 1.2)
sentry-raven (2.7.4) sentry-raven (2.9.0)
faraday (>= 0.7.6, < 1.0) faraday (>= 0.7.6, < 1.0)
settingslogic (2.0.9) settingslogic (2.0.9)
sexp_processor (4.11.0) sexp_processor (4.11.0)
......
...@@ -20,6 +20,21 @@ def configure_sentry ...@@ -20,6 +20,21 @@ def configure_sentry
# Sanitize authentication headers # Sanitize authentication headers
config.sanitize_http_headers = %w[Authorization Private-Token] config.sanitize_http_headers = %w[Authorization Private-Token]
config.tags = { program: Gitlab.process_name } config.tags = { program: Gitlab.process_name }
# Debugging for https://gitlab.com/gitlab-org/gitlab-ce/issues/57727
config.before_send = lambda do |event, hint|
if ActiveModel::MissingAttributeError === hint[:exception]
columns_hash = ActiveRecord::Base
.connection
.schema_cache
.instance_variable_get(:@columns_hash)
.map { |k, v| [k, v.map(&:first)] }
.to_h
event.extra.merge!(columns_hash)
end
event
end
end end
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment