[Koha-devel] Cache::Memory must be removed (21955)

Ere Maijala ere.maijala at helsinki.fi
Fri Dec 7 08:55:39 CET 2018


I'm a bit hesitant on this. I understand running without a cache makes
things like tests easier, but Cache::Memory is actually a pretty useful
fallback. There's a lot of code in Koha that does redundant fetches of
e.g. framework data, and without caching I'm afraid it will slow down
significantly. Cache::Memory is very handy when developing stuff to
speed up execution of e.g. batch utilities when you don't want to mess
with constantly flushing Memcached.

I would like to propose another approach for considerarion: disable
Cache::Memory only if running under Plack.

--Ere

David Cook kirjoitti 7.12.2018 klo 1.52:
> I’ve noticed some caching issues but haven’t had time to investigate too
> deeply. I wonder if this relates to what I’ve encountered.
> 
>  
> 
> In any case, +1!
> 
>  
> 
> David Cook
> 
> Systems Librarian
> 
> Prosentient Systems
> 
> 72/330 Wattle St
> 
> Ultimo, NSW 2007
> 
> Australia
> 
>  
> 
> Office: 02 9212 0899
> 
> Direct: 02 8005 0595
> 
>  
> 
> *From:*koha-devel-bounces at lists.koha-community.org
> [mailto:koha-devel-bounces at lists.koha-community.org] *On Behalf Of
> *Tomas Cohen Arazi
> *Sent:* Friday, 7 December 2018 2:44 AM
> *To:* Jonathan Druart <jonathan.druart at bugs.koha-community.org>
> *Cc:* koha-devel <koha-devel at lists.koha-community.org>
> *Subject:* Re: [Koha-devel] Cache::Memory must be removed (21955)
> 
>  
> 
> Get rid of it!
> 
>  
> 
> +1
> 
>  
> 
> El mié., 5 dic. 2018 a las 16:20, Jonathan Druart
> (<jonathan.druart at bugs.koha-community.org
> <mailto:jonathan.druart at bugs.koha-community.org>>) escribió:
> 
>     Hi devs,
> 
>     I am still recovering from my holidays and I think I caught a quite
>     big fish.
> 
>     After an interesting track game I will explain why I am suggesting to
>     remove Cache::Memory that is currently used as fallback for the L2
>     cache.
> 
>     What I tried to fix:
>     Jenkins is complaining about selenium tests (regressions.t) failing on
>     18.05, it is a succession of events and bugs that were not linked at
>     first glance.
> 
>     Here are the different steps I went though:
>     - On bug 21426 we noticed that USE_MEMCACHED was not taken into
>     account. If set to "no" the default memcached config was defined in
>     the koha-config.xml file anyway
>     - A new regression selenium test was added on bug 21777 to catch the
>     presence of an audio alert on the circulation page
>     - Investigating the failing tests I noticed that koha-testing-docker
>     was not setting the memcached config on the 18.05 branches (I guess
>     the image has not been rebuilt yet)
>     search_utf8.t output "Warning: script running in daemon mode, without
>     recommended caching system (memcached)."
>     - I also find that [% Koha.Preference('AudioAlerts') %] did not return
>     the value set by the tests, but the value that the DB has before the
>     tests were launched
>     => It is a cache issue!
>     - ...but only when memcached is not set...
>     - Reading Koha::Cache->new we can notice that Cache::Memory is used
>     for the L2 cache when memcached is not defined in the config
> 
>     And so we have the problem: If a value is set in the cache by a Plack
>     worker, it will not be available from another one, as the L2 cache is
>     not shared (!)
> 
>     To recreate easily the problem you can:
>     - remove the memcached config
>     - edit intranet-bottom.inc and add
>     ===[% Koha.Preference('AudioAlerts') %]===
>     - restart plack
>     - Modify the value of AudioAlerts (using the UI)
>     - Reload the page (reload several times if the value is still correct,
>     it will depend on which worker will serve the request)
> 
>     Solution:
>     I am considering removing Cache::Memory unless somebody else has a
>     better idea
>     Bug 21955 - Cache::Memory should not be used as L2 cache
> 
>     Note that it should not affect a lot of people as everybody is
>     supposed to have memcached configured and working correctly!
> 
>     Cheers,
>     Jonathan
>     _______________________________________________
>     Koha-devel mailing list
>     Koha-devel at lists.koha-community.org
>     <mailto:Koha-devel at lists.koha-community.org>
>     http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
>     website : http://www.koha-community.org/
>     git : http://git.koha-community.org/
>     bugs : http://bugs.koha-community.org/
> 
> 
>  
> 
> -- 
> 
> Tomás Cohen Arazi
> 
> Theke Solutions (http://theke.io <http://theke.io/>)
> ✆+54 9351 3513384
> GPG: B2F3C15F
> 
> 
> _______________________________________________
> Koha-devel mailing list
> Koha-devel at lists.koha-community.org
> http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
> website : http://www.koha-community.org/
> git : http://git.koha-community.org/
> bugs : http://bugs.koha-community.org/
> 

-- 
Ere Maijala
Kansalliskirjasto / The National Library of Finland



More information about the Koha-devel mailing list