[Koha-bugs] [Bug 16166] Improve L1 cache performance and safety

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Wed May 25 11:44:35 CEST 2016


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=16166

Jacek Ablewicz <ablewicz at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #50708|0                           |1
        is obsolete|                            |

--- Comment #16 from Jacek Ablewicz <ablewicz at gmail.com> ---
Created attachment 51763
  -->
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=51763&action=edit
Bug 16166: Improve L1 cache performance and safety

Bug 16044 introduced two-level caching mechanism to Koha::Cache. By
default, get_from_cache() returns a deep copy of the data structures
stored in L1 cache (aka "safe mode"). For extremely big and/or complex
data structures (like MARC framework hash-of-hashes-of-hashes returned
by GetMarcStructure() ), deep-cloning is currently sub-optimal;
this patch addresses that particular issue. It also provides an
ability to intermix "safe" and "unsafe" cache feches, in such
way that they don't interfere with each other (i.e., eliminating
the risk involved with "unsafe" calls possibly compromising
further "safe" calls).

Test plan:

1) apply patch
2) flush L2 cache if necessary (restart memcached daemon)
3) profile GetMarcStructure() calls before / after patch, e.g. by
running some script which calls it often (like catalogue search
w/ XSLT processing turned on, etc.) - GetMarcStructure() should be
faster than before, in all possible circumstances (eg. 18 msec
per call -> 10 msec p/call)
5) prove -v t/Cache.t - all 39 tests should pass; if you see something
like 'ok 39 # skip Cache not enabled', it means that cache is not
active and you need to manually revert Bug 16104 first
6) after testing, before returning to the master branch, flush L2 cache
again (restart memcached daemon) - otherwise all system preferences
returned from L2 cache would be suffixed with '-CF0'

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the Koha-bugs mailing list