]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 1251208 - Bugzilla->request_cache() can be faster
authorDylan Hardison <dylan@mozilla.com>
Mon, 29 Feb 2016 18:16:41 +0000 (13:16 -0500)
committerDylan Hardison <dylan@mozilla.com>
Mon, 29 Feb 2016 18:16:41 +0000 (13:16 -0500)
r=dkl,a=dylan

Bugzilla.pm

index 2761c9fc72d92bb7fc7e15311cf540acae5ff8c4..851b76ebb5910b7abb7cb29fe8e2b5ad796cdf72 100644 (file)
@@ -684,43 +684,21 @@ sub local_timezone {
              ||= DateTime::TimeZone->new(name => 'local');
 }
 
-# This creates the request cache for non-mod_perl installations.
-# This is identical to Install::Util::_cache so that things loaded
-# into Install::Util::_cache during installation can be read out
-# of request_cache later in installation.
-our $_request_cache = $Bugzilla::Install::Util::_cache;
-
-sub request_cache {
-    if ($ENV{MOD_PERL}) {
-        require Apache2::RequestUtil;
-        # Sometimes (for example, during mod_perl.pl), the request
-        # object isn't available, and we should use $_request_cache instead.
-        my $request = eval { Apache2::RequestUtil->request };
-        return $_request_cache if !$request;
-        return $request->pnotes();
-    }
-    return $_request_cache;
-}
+my $request_cache = {};
+
+sub request_cache { return $request_cache }
 
 sub clear_request_cache {
-    $_request_cache = {};
-    if ($ENV{MOD_PERL}) {
-        require Apache2::RequestUtil;
-        my $request = eval { Apache2::RequestUtil->request };
-        if ($request) {
-            my $pnotes = $request->pnotes;
-            delete @$pnotes{(keys %$pnotes)};
-        }
-    }
+    %$request_cache = ();
 }
 
 # This is a per-process cache.  Under mod_cgi it's identical to the
 # request_cache.  When using mod_perl, items in this cache live until the
 # worker process is terminated.
-our $_process_cache = {};
+my $process_cache = {};
 
 sub process_cache {
-    return $_process_cache;
+    return $process_cache;
 }
 
 # This is a memcached wrapper, which provides cross-process and cross-system