skip column cache in unusual cases
just in case we're trying to log a redis error. blowing the stack isn't cool Change-Id: I396584bc45f36089f2219ee5215745fcf6444ddc Reviewed-on: https://gerrit.instructure.com/160951 Tested-by: Jenkins Reviewed-by: Cody Cutrer <cody@instructure.com> Product-Review: Cody Cutrer <cody@instructure.com> QA-Review: Cody Cutrer <cody@instructure.com>
This commit is contained in:
parent
4cb1a8f8ef
commit
f6ce48e161
|
@ -261,8 +261,21 @@ module PostgreSQLAdapterExtensions
|
|||
end
|
||||
|
||||
def column_definitions(table_name)
|
||||
MultiCache.fetch(["schema", table_name]) do
|
||||
return super if @nested_column_definitions
|
||||
@nested_column_definitions = true
|
||||
begin
|
||||
got_inside = false
|
||||
MultiCache.fetch(["schema", table_name]) do
|
||||
got_inside = true
|
||||
super
|
||||
end
|
||||
rescue
|
||||
raise if got_inside
|
||||
# we never got inside, so something is wrong with the cache,
|
||||
# just ignore it
|
||||
super
|
||||
ensure
|
||||
@nested_column_definitions = false
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue