Why is config ($KOHA_CONF) stored in memcached ?
Hi all, Maybe it's a dumb question, but I don't understand why the config is stored in memcached as: - memcached server address is in this config, so we need to read $KOHA_CONF file first in order to connect to memcached server - config is kept in memory forever ($C4::Context::context), so we shouldn't need the cache once starman has started. If you add a warning in Koha::Config::read_from_file, you'll see that the file is read 3 times per worker, even when the config already exist in cache (it's read 4 times when the cache is empty). It's read each time we call Koha::Cache->new (+ in C4::Context->new if the cache is empty) Shouldn't we read the file only in C4::Context->new (without using cache), and make Koha::Cache use C4::Context->config instead ? -- Julian Maurice BibLibre
I vote for fixing it so the file is only hit the first time. El vie, 30 abr 2021 a las 14:19, Julian Maurice (< julian.maurice@biblibre.com>) escribió:
Hi all,
Maybe it's a dumb question, but I don't understand why the config is stored in memcached as: - memcached server address is in this config, so we need to read $KOHA_CONF file first in order to connect to memcached server - config is kept in memory forever ($C4::Context::context), so we shouldn't need the cache once starman has started.
If you add a warning in Koha::Config::read_from_file, you'll see that the file is read 3 times per worker, even when the config already exist in cache (it's read 4 times when the cache is empty). It's read each time we call Koha::Cache->new (+ in C4::Context->new if the cache is empty)
Shouldn't we read the file only in C4::Context->new (without using cache), and make Koha::Cache use C4::Context->config instead ?
-- Julian Maurice BibLibre _______________________________________________ Koha-devel mailing list Koha-devel@lists.koha-community.org https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel website : https://www.koha-community.org/ git : https://git.koha-community.org/ bugs : https://bugs.koha-community.org/
-- Tomás Cohen Arazi Theke Solutions (http://theke.io) ✆ +54 9351 3513384 GPG: B2F3C15F
Patch is ready to be tested at https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28276 ;) Le 01/05/2021 à 14:53, Tomas Cohen Arazi a écrit :
I vote for fixing it so the file is only hit the first time.
El vie, 30 abr 2021 a las 14:19, Julian Maurice (<julian.maurice@biblibre.com <mailto:julian.maurice@biblibre.com>>) escribió:
Hi all,
Maybe it's a dumb question, but I don't understand why the config is stored in memcached as: - memcached server address is in this config, so we need to read $KOHA_CONF file first in order to connect to memcached server - config is kept in memory forever ($C4::Context::context), so we shouldn't need the cache once starman has started.
If you add a warning in Koha::Config::read_from_file, you'll see that the file is read 3 times per worker, even when the config already exist in cache (it's read 4 times when the cache is empty). It's read each time we call Koha::Cache->new (+ in C4::Context->new if the cache is empty)
Shouldn't we read the file only in C4::Context->new (without using cache), and make Koha::Cache use C4::Context->config instead ?
-- Julian Maurice BibLibre _______________________________________________ Koha-devel mailing list Koha-devel@lists.koha-community.org <mailto:Koha-devel@lists.koha-community.org> https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel <https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel> website : https://www.koha-community.org/ <https://www.koha-community.org/> git : https://git.koha-community.org/ <https://git.koha-community.org/> bugs : https://bugs.koha-community.org/ <https://bugs.koha-community.org/>
-- Tomás Cohen Arazi Theke Solutions (http://theke.io <http://theke.io/>) ✆ +54 9351 3513384 GPG: B2F3C15F
-- Julian Maurice BibLibre
If you're interested there is also bug 28278 that divides by 3 the time needed to parse $KOHA_CONF: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28278 Le 02/05/2021 à 14:52, Julian Maurice a écrit :
Patch is ready to be tested at https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28276 ;)
Le 01/05/2021 à 14:53, Tomas Cohen Arazi a écrit :
I vote for fixing it so the file is only hit the first time.
El vie, 30 abr 2021 a las 14:19, Julian Maurice (<julian.maurice@biblibre.com <mailto:julian.maurice@biblibre.com>>) escribió:
Hi all,
Maybe it's a dumb question, but I don't understand why the config is stored in memcached as: - memcached server address is in this config, so we need to read $KOHA_CONF file first in order to connect to memcached server - config is kept in memory forever ($C4::Context::context), so we shouldn't need the cache once starman has started.
If you add a warning in Koha::Config::read_from_file, you'll see that the file is read 3 times per worker, even when the config already exist in cache (it's read 4 times when the cache is empty). It's read each time we call Koha::Cache->new (+ in C4::Context->new if the cache is empty)
Shouldn't we read the file only in C4::Context->new (without using cache), and make Koha::Cache use C4::Context->config instead ?
-- Julian Maurice BibLibre _______________________________________________ Koha-devel mailing list Koha-devel@lists.koha-community.org <mailto:Koha-devel@lists.koha-community.org> https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
<https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel> website : https://www.koha-community.org/ <https://www.koha-community.org/> git : https://git.koha-community.org/ <https://git.koha-community.org/> bugs : https://bugs.koha-community.org/ <https://bugs.koha-community.org/>
-- Tomás Cohen Arazi Theke Solutions (http://theke.io <http://theke.io/>) ✆ +54 9351 3513384 GPG: B2F3C15F
-- Julian Maurice BibLibre
Oh I am very interested. I've been wanting to get rid of XML::Simple for many years, and this would be a huge step forward. I'll have to review this sometime... David Cook Software Engineer Prosentient Systems Suite 7.03 6a Glen St Milsons Point NSW 2061 Australia Office: 02 9212 0899 Online: 02 8005 0595 -----Original Message----- From: Koha-devel <koha-devel-bounces@lists.koha-community.org> On Behalf Of Julian Maurice Sent: Monday, 3 May 2021 5:06 PM To: koha-devel@lists.koha-community.org Subject: Re: [Koha-devel] Why is config ($KOHA_CONF) stored in memcached ? If you're interested there is also bug 28278 that divides by 3 the time needed to parse $KOHA_CONF: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28278 Le 02/05/2021 à 14:52, Julian Maurice a écrit :
Patch is ready to be tested at https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28276 ;)
Le 01/05/2021 à 14:53, Tomas Cohen Arazi a écrit :
I vote for fixing it so the file is only hit the first time.
El vie, 30 abr 2021 a las 14:19, Julian Maurice (<julian.maurice@biblibre.com <mailto:julian.maurice@biblibre.com>>) escribió:
Hi all,
Maybe it's a dumb question, but I don't understand why the config is stored in memcached as: - memcached server address is in this config, so we need to read $KOHA_CONF file first in order to connect to memcached server - config is kept in memory forever ($C4::Context::context), so we shouldn't need the cache once starman has started.
If you add a warning in Koha::Config::read_from_file, you'll see that the file is read 3 times per worker, even when the config already exist in cache (it's read 4 times when the cache is empty). It's read each time we call Koha::Cache->new (+ in C4::Context->new if the cache is empty)
Shouldn't we read the file only in C4::Context->new (without using cache), and make Koha::Cache use C4::Context->config instead ?
-- Julian Maurice BibLibre _______________________________________________ Koha-devel mailing list Koha-devel@lists.koha-community.org <mailto:Koha-devel@lists.koha-community.org>
https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
<https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
website : https://www.koha-community.org/ <https://www.koha-community.org/> git : https://git.koha-community.org/ <https://git.koha-community.org/> bugs : https://bugs.koha-community.org/ <https://bugs.koha-community.org/>
-- Tomás Cohen Arazi Theke Solutions (http://theke.io <http://theke.io/>) ✆ +54 9351 3513384 GPG: B2F3C15F
-- Julian Maurice BibLibre _______________________________________________ Koha-devel mailing list Koha-devel@lists.koha-community.org https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel website : https://www.koha-community.org/ git : https://git.koha-community.org/ bugs : https://bugs.koha-community.org/
Sounds good to me. I don’t recall how long the Koha conf has been stored in Memcached, but it would have benefited CGI Koha since every HTTP request would’ve done a disk read. But I think we’ve pretty much moved on from CGI now, so +1 to only reading koha-conf.xml once at startup. This change should also make it easier to make changes to Koha. It drives me a little bit crazy that I have to manually clear Memcached every time I make a change to koha-conf.xml… David Cook Software Engineer Prosentient Systems Suite 7.03 6a Glen St Milsons Point NSW 2061 Australia Office: 02 9212 0899 Online: 02 8005 0595 From: Koha-devel <koha-devel-bounces@lists.koha-community.org> On Behalf Of Tomas Cohen Arazi Sent: Saturday, 1 May 2021 10:53 PM To: Julian Maurice <julian.maurice@biblibre.com> Cc: koha-devel <koha-devel@lists.koha-community.org> Subject: Re: [Koha-devel] Why is config ($KOHA_CONF) stored in memcached ? I vote for fixing it so the file is only hit the first time. El vie, 30 abr 2021 a las 14:19, Julian Maurice (<julian.maurice@biblibre.com <mailto:julian.maurice@biblibre.com> >) escribió: Hi all, Maybe it's a dumb question, but I don't understand why the config is stored in memcached as: - memcached server address is in this config, so we need to read $KOHA_CONF file first in order to connect to memcached server - config is kept in memory forever ($C4::Context::context), so we shouldn't need the cache once starman has started. If you add a warning in Koha::Config::read_from_file, you'll see that the file is read 3 times per worker, even when the config already exist in cache (it's read 4 times when the cache is empty). It's read each time we call Koha::Cache->new (+ in C4::Context->new if the cache is empty) Shouldn't we read the file only in C4::Context->new (without using cache), and make Koha::Cache use C4::Context->config instead ? -- Julian Maurice BibLibre _______________________________________________ Koha-devel mailing list Koha-devel@lists.koha-community.org <mailto:Koha-devel@lists.koha-community.org> https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel website : https://www.koha-community.org/ git : https://git.koha-community.org/ bugs : https://bugs.koha-community.org/ -- Tomás Cohen Arazi Theke Solutions (http://theke.io <http://theke.io/> ) ✆ +54 9351 3513384 GPG: B2F3C15F
participants (3)
-
dcook@prosentient.com.au -
Julian Maurice -
Tomas Cohen Arazi