diff options
author | Yorick Peterse <yorickpeterse@gmail.com> | 2018-09-25 11:24:28 +0000 |
---|---|---|
committer | Yorick Peterse <yorickpeterse@gmail.com> | 2018-09-25 11:24:28 +0000 |
commit | a1ee365843dccc265557904051e8bd51d5f54488 (patch) | |
tree | 38741180b8b10000d8e40a0056653ac45db5a90c /app | |
parent | cdff2c664131bc1b20685ee2fc0372c11ee028f8 (diff) | |
parent | 74ae135888f55c17f6c53bcba9c1ca979a33724e (diff) | |
download | gitlab-ce-a1ee365843dccc265557904051e8bd51d5f54488.tar.gz |
Merge branch 'mk/improve-usage-of-request-store' into 'master'
Resolve "Provide NullStore for RequestStore"
Closes #51718
See merge request gitlab-org/gitlab-ce!21848
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/concerns/with_performance_bar.rb | 6 | ||||
-rw-r--r-- | app/models/ability.rb | 2 | ||||
-rw-r--r-- | app/models/concerns/bulk_member_access_load.rb | 6 | ||||
-rw-r--r-- | app/models/concerns/cacheable_attributes.rb | 6 | ||||
-rw-r--r-- | app/models/legacy_diff_note.rb | 6 | ||||
-rw-r--r-- | app/models/namespace.rb | 4 | ||||
-rw-r--r-- | app/models/project.rb | 6 |
7 files changed, 10 insertions, 26 deletions
diff --git a/app/controllers/concerns/with_performance_bar.rb b/app/controllers/concerns/with_performance_bar.rb index c12839c7bbd..77c3d476ac6 100644 --- a/app/controllers/concerns/with_performance_bar.rb +++ b/app/controllers/concerns/with_performance_bar.rb @@ -10,11 +10,7 @@ module WithPerformanceBar def peek_enabled? return false unless Gitlab::PerformanceBar.enabled?(current_user) - if RequestStore.active? - RequestStore.fetch(:peek_enabled) { cookie_or_default_value } - else - cookie_or_default_value - end + Gitlab::SafeRequestStore.fetch(:peek_enabled) { cookie_or_default_value } end private diff --git a/app/models/ability.rb b/app/models/ability.rb index a853106e5bd..1466407d0d1 100644 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -74,7 +74,7 @@ class Ability end def policy_for(user, subject = :global) - cache = RequestStore.active? ? RequestStore : {} + cache = Gitlab::SafeRequestStore.active? ? Gitlab::SafeRequestStore : {} DeclarativePolicy.policy_for(user, subject, cache: cache) end diff --git a/app/models/concerns/bulk_member_access_load.rb b/app/models/concerns/bulk_member_access_load.rb index c4346d5dd17..041ed3755e0 100644 --- a/app/models/concerns/bulk_member_access_load.rb +++ b/app/models/concerns/bulk_member_access_load.rb @@ -16,9 +16,9 @@ module BulkMemberAccessLoad key = max_member_access_for_resource_key(resource_klass, memoization_index) access = {} - if RequestStore.active? - RequestStore.store[key] ||= {} - access = RequestStore.store[key] + if Gitlab::SafeRequestStore.active? + Gitlab::SafeRequestStore[key] ||= {} + access = Gitlab::SafeRequestStore[key] end # Look up only the IDs we need diff --git a/app/models/concerns/cacheable_attributes.rb b/app/models/concerns/cacheable_attributes.rb index 62b78c3611c..f8034be8376 100644 --- a/app/models/concerns/cacheable_attributes.rb +++ b/app/models/concerns/cacheable_attributes.rb @@ -27,11 +27,7 @@ module CacheableAttributes end def cached - if RequestStore.active? - RequestStore[:"#{name}_cached_attributes"] ||= retrieve_from_cache - else - retrieve_from_cache - end + Gitlab::SafeRequestStore[:"#{name}_cached_attributes"] ||= retrieve_from_cache end def retrieve_from_cache diff --git a/app/models/legacy_diff_note.rb b/app/models/legacy_diff_note.rb index 20f9b18e4ca..00dec6bb92b 100644 --- a/app/models/legacy_diff_note.rb +++ b/app/models/legacy_diff_note.rb @@ -20,11 +20,7 @@ class LegacyDiffNote < Note end def project_repository - if RequestStore.active? - RequestStore.fetch("project:#{project_id}:repository") { self.project.repository } - else - self.project.repository - end + Gitlab::SafeRequestStore.fetch("project:#{project_id}:repository") { self.project.repository } end def diff_file_hash diff --git a/app/models/namespace.rb b/app/models/namespace.rb index 0289f29211d..c54be778d1b 100644 --- a/app/models/namespace.rb +++ b/app/models/namespace.rb @@ -148,8 +148,8 @@ class Namespace < ActiveRecord::Base def find_fork_of(project) return nil unless project.fork_network - if RequestStore.active? - forks_in_namespace = RequestStore.fetch("namespaces:#{id}:forked_projects") do + if Gitlab::SafeRequestStore.active? + forks_in_namespace = Gitlab::SafeRequestStore.fetch("namespaces:#{id}:forked_projects") do Hash.new do |found_forks, project| found_forks[project] = project.fork_network.find_forks_in(projects).first end diff --git a/app/models/project.rb b/app/models/project.rb index 0a5099b27b1..2b2dff3a718 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -2266,11 +2266,7 @@ class Project < ActiveRecord::Base end end - if RequestStore.active? - RequestStore.fetch("project-#{id}:branch-#{branch_name}:user-#{user.id}:branch_allows_collaboration") do - check_access.call - end - else + Gitlab::SafeRequestStore.fetch("project-#{id}:branch-#{branch_name}:user-#{user.id}:branch_allows_collaboration") do check_access.call end end |