4b65d099d7
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> |
||
---|---|---|
.. | ||
searchengine/elasticsearch | ||
add_user_search.pl | ||
additional-fields.pl | ||
admin-home.pl | ||
adveditorshortcuts.pl | ||
aqbudgetperiods.pl | ||
aqbudgets.pl | ||
aqcontract.pl | ||
aqplan.pl | ||
audio_alerts.pl | ||
auth_subfields_structure.pl | ||
auth_tag_structure.pl | ||
authorised_values.pl | ||
authtypes.pl | ||
background_jobs.pl | ||
biblio_framework.pl | ||
branch_transfer_limits.pl | ||
branches.pl | ||
cash_registers.pl | ||
categories.pl | ||
check_budget_parent.pl | ||
check_parent_total.pl | ||
checkmarc.pl | ||
cities.pl | ||
classsources.pl | ||
clone-rules.pl | ||
columns_settings.pl | ||
columns_settings.yml | ||
credit_types.pl | ||
currency.pl | ||
debit_types.pl | ||
desks.pl | ||
didyoumean.pl | ||
edi_accounts.pl | ||
edi_ean_accounts.pl | ||
import_export_framework.pl | ||
item_circulation_alerts.pl | ||
items_search_field.pl | ||
items_search_fields.pl | ||
itemtypes.pl | ||
koha2marclinks.pl | ||
library_groups.pl | ||
localization.pl | ||
marc_subfields_structure.pl | ||
marctagstructure.pl | ||
matching-rules.pl | ||
oai_set_mappings.pl | ||
oai_sets.pl | ||
overdrive.pl | ||
patron-attr-types.pl | ||
preferences.pl | ||
share_content.pl | ||
smart-rules.pl | ||
sms_providers.pl | ||
smtp_servers.pl | ||
sru_modmapping.pl | ||
systempreferences.pl | ||
transfer_limits.pl | ||
transport-cost-matrix.pl | ||
usage_statistics.pl | ||
z3950servers.pl |