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

Paul Poulain paul.poulain at biblibre.com
Wed Dec 19 09:33:04 CET 2018


Hi Jonathan,

I'd be very happy if you could wrote something on the wiki, I'm a little 
bit confused by all those cache...

Le 07/12/2018 à 16:36, Jonathan Druart a écrit :
> I talked with Ere on IRC, but prefer to let a note here as well.
>
> Enabling Cache::Memory if Plack is not running will not help as we
> have the L1 (in memory) cache, which is used in any cases (and flushed
> under Plack before a request is made).
>
> I do not know how is our caching system understood by the team. I can
> try and write something on the wiki if it can help. Hint: there is no
> black magic :)
>
> Cheers,
> Jonathan
>
> Le ven. 7 déc. 2018 à 04:55, Ere Maijala <ere.maijala at helsinki.fi> a écrit :
>> 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
>>
>> _______________________________________________
>> 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/
> _______________________________________________
> 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/

-- 
Paul Poulain, Associé-gérant / co-owner
BibLibre, Services en logiciels libres pour les bibliothèques
BibLibre, Open Source software and services for libraries



More information about the Koha-devel mailing list