[Koha-bugs] [Bug 27078] Starman hanging in 3-node Koha cluster when 1 node goes offline.

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Thu Nov 26 00:26:00 CET 2020


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27078

--- Comment #14 from David Cook <dcook at prosentient.com.au> ---
(In reply to Christian McDonald from comment #12)
> I think Memcached is likely the culprit. However, if I recall correctly, I
> actually reconfigured koha-conf.xml in my testing to ONLY point to
> localhost:11211 memcached. So each Koha node was only looking at the
> memcached instance on itself and not distributing keys among the other two
> nodes. 

That would be a good thing to confirm one way or another.

If you were only using localhost:11211, then I'd say there is something else
going on. But there's only so much remote support a person can give with only
so much information.

> I'm still mulling
> over everything in your latest post, but I think I need learn how to do some
> perl profiling and see what methods are hanging up this process.
> 

I think that's a good idea too. 

If you're using Plack, then you'll need to use a middleware like this one:
https://metacpan.org/pod/Plack::Middleware::Debug::Profiler::NYTProf

As noted above, there is an example at
https://wiki.koha-community.org/wiki/Plack. 

Hopefully those two links should be sufficient. I think the plack.psgi file
you'll want to edit will be at /etc/koha/sites/kohadev/plack.psgi. 

> On another note, has there been any discussion concerning other in-memory
> caching solutions, like redis? 

Not that I know of. I think Memcached has been sufficient for everyone's needs.

> How much work would be involved in supporting
> another caching solution? 

How long is a piece of string? On one hand, adding code to support Redis
probably wouldn't be that difficult. On the other hand, supporting Redis would
add to the possible permutations of Koha setups, which makes overall support of
Koha more complex. 

That said, I have been wanting to play with Redis for a long time. 

The way to do this would be to move the Memcached code out of Koha::Cache and
into a driver class called Koha::Cache::Memcached, and then have a
configuration option somewhere to specify the driver to use for Koha::Cache.
That way, Koha could officially support Memcached, but a person could easily
write their own driver and install it however they like. (For example, using
cpan/cpanm, or customizing the source code to include another driver, or
tweaking the PERL5LIB env variable in "/etc/default/koha-common").

> It appears that most (if not all) of the caching
> abstraction is wrapped up in Koha::Cache. 

That's correct if I recall correctly.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are watching all bug changes.


More information about the Koha-bugs mailing list