Koha-clms/C4
Julian Maurice 550f3e2999 Bug 28276: Do not fetch config ($KOHA_CONF) from memcached
memcached address and namespace are in $KOHA_CONF, so it is required to
read it before being able to access the cache. And after that,
configuration is kept in memory forever. Storing this in memcached is
useless and even counter-productive, since Koha reads both the file and
the cache

This patch addresses this issue by removing the cache-related code from
C4::Context->new.
It means that C4::Context->new will always read the configuration file,
so this patch also replaces inappropriate calls to
C4::Context->new->config by appropriate calls to C4::Context->config

It also fixes a bug where C4::Context->new would ignore the filepath
given in parameters if there was something in cache.

It also removes a problematic call to Koha::Caches->get_instance.
Because this call was outside of any subroutine, it would have happened
before the initialization of $C4::Context::context (which happen in
C4::Context::import)

Test plan:
1. Do not apply the patch yet
2. Add the following line at the beginning of Koha::Config::read_from_file
    warn "read_from_file($file)";
   This will allow you to check how many times the file is read.
3. Flush memcached and restart starman
4. Check the logs, you should see "read_from_file" a bunch of times
5. Apply the patch
6. Re-add the line from step 2
7. Flush memcached and restart starman
8. Check the logs, you should see "read_from_file" only once
9. Make sure the memcached config from $KOHA_CONF (memcached_servers,
   memcached_namespace) is taken into account by checking the About page

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 4b65d099d7)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2021-05-12 16:32:32 +02:00
..
AuthoritiesMarc Bug 24217: use Modern::Perl for modules when strict is missing 2020-01-03 10:45:46 +00:00
Barcodes Bug 26673: Fix perlcritic complains 2020-11-02 08:42:20 +01:00
ClassSortRoutine Bug 16011: $VERSION - Remove use vars qw(); 2016-03-24 17:20:39 +00:00
ClassSplitRoutine Bug 21395: Make perlcritic happy 2020-06-29 12:37:02 +02:00
Creators Bug 25852: Improve C4::Creators::Lib reliability under plack 2020-07-31 10:03:26 +02:00
External Bug 22010: Check preferences for ebook integration 2019-04-30 11:42:51 +00:00
Form Bug 16259: Replace CGI->param with CGI->multi_param in list context - part 2 2016-05-16 17:28:06 +00:00
Heading Bug 18017: Add subdivisions to UNIMARC authorities zebra configuration 2021-04-29 11:20:07 +02:00
ILSDI Bug 17229: Check if patron is expired in CanItemBeReserved 2021-01-25 14:53:42 +01:00
Installer Bug 24545: Fix license statements 2020-02-24 13:31:26 +00:00
Labels Bug 21395: Make perlcritic happy 2020-06-29 12:37:02 +02:00
Linker Bug 25189: Don't create authority if results found 2020-06-24 14:31:37 +02:00
Members Bug 24447: Changing 'DUE' to example in database that exists. 2021-01-29 14:19:18 +01:00
OAI Bug 25460: Update OAI sets when adding/editing/deleting item records 2020-10-15 12:56:30 +02:00
Output
…
Patroncards Bug 21395: Make perlcritic happy 2020-06-29 12:37:02 +02:00
Reports Bug 22001: execute reports in an eval 2020-03-31 17:48:14 +01:00
SIP Bug 28052: Do not check SYSENV values only keys in loop 2021-04-15 12:35:31 +02:00
Search Bug 24217: use Modern::Perl for modules when strict is missing 2020-01-03 10:45:46 +00:00
Serials Bug 20144: [sql_modes] Add default value for subscription_numberpatterns.description in tests 2018-02-13 13:58:53 -03:00
Utils Bug 28069: (bug 27715 follow-up) Fix sort for lists 2021-04-22 16:37:06 +02:00
Accounts.pm Bug 22394: Remove C4::Accounts::manualinvoice 2020-11-04 12:59:33 +01:00
Acquisition.pm Bug 26584: Remove unused C4::Acquisition::CloseBasket function 2020-11-05 15:24:20 +01:00
Auth.pm Bug 18506: (QA follow-up) opacShibOnly -> OPACShibOnly 2021-02-25 09:58:45 +01:00
Auth_cas_servers.yaml.sample Bug 17065 - Rename C4/Auth_cas_servers.yaml.orig 2016-08-08 13:16:36 +00:00
Auth_with_cas.pm Bug 20854: (QA follow-up) Improve readability 2021-04-29 13:57:51 +02:00
Auth_with_ldap.pm Bug 28276: Do not fetch config ($KOHA_CONF) from memcached 2021-05-12 16:32:32 +02:00
Auth_with_shibboleth.pm Bug 24199: (bug 23042 follow-up) Prevent t/Auth_with_shibboleth.t to fail randomly 2019-12-10 10:43:20 +00:00
AuthoritiesMarc.pm Bug 25313: Add skip_merge to ModAuthority 2020-11-18 12:03:03 +01:00
BackgroundJob.pm Bug 24217: use Modern::Perl for modules when strict is missing 2020-01-03 10:45:46 +00:00
Barcodes.pm
…
Biblio.pm Bug 27577: Autolink biblio after biblionumber is generated 2021-05-11 16:02:52 +02:00
Boolean.pm
…
Breeding.pm Bug 26528: Z39.50/SRU ignore invalid replies 2021-04-22 16:33:03 +02:00
Budgets.pm Bug 23195: Always count shipping costs as 'spent' 2021-04-29 16:06:22 +02:00
Calendar.pm Bug 25723: (QA follow-up) Handle holiday and exception on same day 2020-07-20 17:45:31 +02:00
Charset.pm Bug 22721: Remove frameworkcode parameter in GetMarcFromKohaField calls 2019-07-15 11:28:08 +01:00
Circulation.pm Bug 28013: (follow-up) Reset the patron loop 2021-04-29 11:01:35 +02:00
ClassSortRoutine.pm Bug 21395: Make perlcritic happy 2020-06-29 12:37:02 +02:00
ClassSource.pm Bug 15836: Remove deprecated subroutines 2018-11-13 18:56:18 +00:00
ClassSplitRoutine.pm Bug 15836: Add the ability to defined custom methods to split call number in labels 2018-11-13 15:18:22 +00:00
Context.pm Bug 28276: Do not fetch config ($KOHA_CONF) from memcached 2021-05-12 16:32:32 +02:00
Contract.pm Bug 24217: use Modern::Perl for modules when strict is missing 2020-01-03 10:45:46 +00:00
CourseReserves.pm Bug 21395: Make perlcritic happy 2020-06-29 12:37:02 +02:00
Creators.pm Bug 21395: Make perlcritic happy 2020-06-29 12:37:02 +02:00
Debug.pm
…
HTML5Media.pm Bug 27422: YouTube videos are HTTPS only 2021-02-12 15:27:50 +01:00
Heading.pm Bug 24269: Adjust C4::Heading to generate headings from auth tags 2020-02-19 13:33:32 +00:00
HoldsQueue.pm Bug 27068: Perltidy _checkHoldPolicy 2021-02-19 16:05:39 +01:00
ImportBatch.pm Bug 24469: Move the new queries to a dedicated ImportBatch subroutine 2021-02-22 11:11:53 +01:00
ImportExportFramework.pm Bug 27968: Fix framework import if isurl has an incorrect value 2021-04-29 16:30:57 +02:00
InstallAuth.pm Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
Installer.pm Bug 23895: Move installer file into the mandatory directory 2020-10-14 14:50:07 +02:00
ItemCirculationAlertPreference.pm Bug 15407: Koha::Patron::Categories - replace C4::Category->all 2016-09-08 13:29:03 +00:00
Items.pm Bug 27509: Prevent cn_sort value to be lost when editing items 2021-01-22 15:18:42 +01:00
Koha.pm Bug 27746: prevent regexp undefined warning when checking subfield contents ($oclc) 2021-04-19 14:55:45 +02:00
Labels.pm Bug 21395: Make perlcritic happy 2020-06-29 12:37:02 +02:00
Languages.pm Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
Letters.pm Bug 27860: Add message_id param to SendQueuedMessages 2021-03-19 16:14:33 +01:00
Linker.pm
…
Log.pm Bug 23632: Remove C4::Logs::GetLogs 2020-08-18 15:45:48 +02:00
MarcModificationTemplates.pm Bug 24840: Replace DateTime->now with dt_from_string 2020-04-08 11:54:23 +01:00
Matcher.pm Bug 26199: Include LDR for match check/match point 2021-03-19 14:38:49 +01:00
Members.pm Bug 28053: Squash warning in C4::Members 2021-04-15 12:23:14 +02:00
Message.pm Bug 21206: Replace C4::Items::GetItem 2019-02-26 13:24:07 +00:00
NewsChannels.pm Bug 21066: Rename publicationdate with published_on 2020-09-02 15:35:08 +02:00
Output.pm Bug 11994: OpenSearch plugins needs to be delivered with Content-Type application/opensearchdescription+xml 2020-06-24 14:31:37 +02:00
Overdues.pm Bug 28144: Check if issue_id defined 2021-04-30 10:44:14 +02:00
Patroncards.pm Bug 21395: Make perlcritic happy 2020-06-29 12:37:02 +02:00
Record.pm Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
Reports.pm Bug 24217: use Modern::Perl for modules when strict is missing 2020-01-03 10:45:46 +00:00
Reserves.pm Bug 28078: (follow-up) Add param check to 'itemAlreadyOnHold' test 2021-04-29 10:58:52 +02:00
Ris.pm Bug 21395: Make perlcritic happy 2020-06-29 12:37:02 +02:00
RotatingCollections.pm Bug 12556: (QA follow-up) Fix QA Script failures 2020-10-14 14:50:07 +02:00
SMS.pm Bug 19134: C4::SMS falils on long driver name 2017-08-25 10:51:24 -03:00
Scheduler.pm Bug 24217: use Modern::Perl for modules when strict is missing 2020-01-03 10:45:46 +00:00
Scrubber.pm
…
Search.pm Bug 27928: FindDuplicate should use simple_search_compat 2021-04-13 16:52:54 +02:00
Serials.pm Bug 27842: Update serial.biblionumber when a subscription is linked with another record 2021-05-12 15:58:29 +02:00
Service.pm Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
ShelfBrowser.pm Bug 26673: Remove shebangs from Perl modules 2020-10-26 00:14:42 +01:00
SocialData.pm
…
Stats.pm Bug 24151: Copy info to the pseudonymized table when a transaction is done 2020-07-20 15:17:42 +02:00
Suggestions.pm Bug 7806: Fix remaining occurrences of 0000-00-00 2021-03-04 10:24:48 +01:00
TTParser.pm Bug 26673: Remove #!/usr/bin/env perl from .pm modules too 2020-10-26 00:14:42 +01:00
Tags.pm Bug 23084: Replace grep {^$var$} with grep {$_ eq $var} 2020-02-17 10:44:45 +00:00
Templates.pm Bug 21395: Make perlcritic happy 2020-06-29 12:37:02 +02:00
TmplToken.pm
…
TmplTokenType.pm Bug 24217: use Modern::Perl for modules when strict is missing 2020-01-03 10:45:46 +00:00
UsageStats.pm Bug 23420: (QA follow-up) Remove more AllowPurchaseSuggestionBranchChoice code 2020-10-09 12:22:01 +02:00
XISBN.pm Bug 26364: Don't skip records that match the isbn we passed 2021-01-08 07:38:05 +01:00
XSLT.pm Bug 27861: Warning in C4/XSLT.pm - use of uninitialized value in numeric eq (==) 2021-04-29 11:41:20 +02:00