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

Paul Poulain paul.poulain at biblibre.com
Fri Dec 21 17:01:22 CET 2018


Great, thanks !

An idea: couldn't we also cache the xslt display of biblios, as it 
requires quite a long time to be done, and it's a data that change rarely ?

Le 21/12/2018 à 16:51, Jonathan Druart a écrit :
> I have stolen this existing page and wrote some info about our cache mechanism:
> https://wiki.koha-community.org/wiki/Cache_handling_in_Koha
>
> Feel free to ask if you need more info or if something is still not
> clear enough.
>
> Cheers,
> Jonathan
>
> Le mer. 19 déc. 2018 à 05:33, Paul Poulain <paul.poulain at biblibre.com> a écrit :
>> 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
>>
>> _______________________________________________
>> 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