mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-11 05:36:07 +10:00
Merge branch 'fix-application-settings-not-expiring' into 'master'
Fix application settings cache not expiring after changes cache_key is an instance method that relies on updated_at. When changes were made, the time-dependent key was being used instead of X.application_setting.last. Closes #3609 See merge request !1972
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
Please view this file on the master branch, on stable branches it's out of date.
|
||||
|
||||
v 8.3.0 (unreleased)
|
||||
- Fix application settings cache not expiring after changes (Stan Hu)
|
||||
- Fix: Assignee selector is empty when 'Unassigned' is selected (Jose Corcuera)
|
||||
- Fix 500 error when update group member permission
|
||||
- Trim leading and trailing whitespace of milestone and issueable titles (Jose Corcuera)
|
||||
|
||||
@@ -30,6 +30,8 @@
|
||||
#
|
||||
|
||||
class ApplicationSetting < ActiveRecord::Base
|
||||
CACHE_KEY = 'application_setting.last'
|
||||
|
||||
serialize :restricted_visibility_levels
|
||||
serialize :import_sources
|
||||
serialize :restricted_signup_domains, Array
|
||||
@@ -73,21 +75,17 @@ class ApplicationSetting < ActiveRecord::Base
|
||||
end
|
||||
|
||||
after_commit do
|
||||
Rails.cache.write(cache_key, self)
|
||||
Rails.cache.write(CACHE_KEY, self)
|
||||
end
|
||||
|
||||
def self.current
|
||||
Rails.cache.fetch(cache_key) do
|
||||
Rails.cache.fetch(CACHE_KEY) do
|
||||
ApplicationSetting.last
|
||||
end
|
||||
end
|
||||
|
||||
def self.expire
|
||||
Rails.cache.delete(cache_key)
|
||||
end
|
||||
|
||||
def self.cache_key
|
||||
'application_setting.last'
|
||||
Rails.cache.delete(CACHE_KEY)
|
||||
end
|
||||
|
||||
def self.create_from_defaults
|
||||
|
||||
@@ -12,17 +12,18 @@
|
||||
module Ci
|
||||
class ApplicationSetting < ActiveRecord::Base
|
||||
extend Ci::Model
|
||||
CACHE_KEY = 'ci_application_setting.last'
|
||||
|
||||
after_commit do
|
||||
Rails.cache.write(cache_key, self)
|
||||
Rails.cache.write(CACHE_KEY, self)
|
||||
end
|
||||
|
||||
def self.expire
|
||||
Rails.cache.delete(cache_key)
|
||||
Rails.cache.delete(CACHE_KEY)
|
||||
end
|
||||
|
||||
def self.current
|
||||
Rails.cache.fetch(cache_key) do
|
||||
Rails.cache.fetch(CACHE_KEY) do
|
||||
Ci::ApplicationSetting.last
|
||||
end
|
||||
end
|
||||
@@ -33,9 +34,5 @@ module Ci
|
||||
add_pusher: Settings.gitlab_ci['add_pusher'],
|
||||
)
|
||||
end
|
||||
|
||||
def self.cache_key
|
||||
'ci_application_setting.last'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user