From 02d1df3f93b96754d18b8ff3566279bd8a483ea1 Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Thu, 28 Jul 2016 18:28:14 -0700 Subject: Fix memory leak with use of RequestStore Use RequestStore.store to ensure objects are cleared out properly via `RequestStore#clear!` --- CHANGELOG | 1 + lib/banzai/filter/abstract_reference_filter.rb | 6 +++--- lib/banzai/filter/external_issue_reference_filter.rb | 2 +- lib/banzai/reference_parser/base_parser.rb | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 8759bb04dec..b287d2826f7 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -30,6 +30,7 @@ v 8.11.0 (unreleased) - Change requests_profiles resource constraint to catch virtually any file v 8.10.3 (unreleased) + - Fix memory leak with use of RequestStore v 8.10.2 - User can now search branches by name. !5144 diff --git a/lib/banzai/filter/abstract_reference_filter.rb b/lib/banzai/filter/abstract_reference_filter.rb index d77a5e3ff09..2c78e2241c9 100644 --- a/lib/banzai/filter/abstract_reference_filter.rb +++ b/lib/banzai/filter/abstract_reference_filter.rb @@ -263,17 +263,17 @@ module Banzai private def project_refs_cache - RequestStore[:banzai_project_refs] ||= {} + RequestStore.store[:banzai_project_refs] ||= {} end def find_objects_cache - RequestStore[:banzai_find_objects_cache] ||= Hash.new do |hash, key| + RequestStore.store[:banzai_find_objects_cache] ||= Hash.new do |hash, key| hash[key] = Hash.new { |h, k| h[k] = {} } end end def url_for_object_cache - RequestStore[:banzai_url_for_object] ||= Hash.new do |hash, key| + RequestStore.store[:banzai_url_for_object] ||= Hash.new do |hash, key| hash[key] = Hash.new { |h, k| h[k] = {} } end end diff --git a/lib/banzai/filter/external_issue_reference_filter.rb b/lib/banzai/filter/external_issue_reference_filter.rb index eaa702952cc..72106cf9051 100644 --- a/lib/banzai/filter/external_issue_reference_filter.rb +++ b/lib/banzai/filter/external_issue_reference_filter.rb @@ -93,7 +93,7 @@ module Banzai private def default_issues_tracker_cache - RequestStore[:banzai_default_issues_tracker_cache] ||= {} + RequestStore.store[:banzai_default_issues_tracker_cache] ||= {} end end end diff --git a/lib/banzai/reference_parser/base_parser.rb b/lib/banzai/reference_parser/base_parser.rb index 6cf218aaa0d..5870b80cea3 100644 --- a/lib/banzai/reference_parser/base_parser.rb +++ b/lib/banzai/reference_parser/base_parser.rb @@ -227,7 +227,7 @@ module Banzai end def collection_cache - RequestStore[:banzai_collection_cache] ||= Hash.new do |hash, key| + RequestStore.store[:banzai_collection_cache] ||= Hash.new do |hash, key| hash[key] = {} end end -- cgit v1.2.1