rlm_rediswho with spaces
B.Candler at pobox.com
Wed Oct 31 22:22:35 CET 2012
On Tue, Oct 30, 2012 at 03:21:11AM +0100, Alan DeKok wrote:
> On 2012-10-29, at 10:47 PM, Brian Candler <B.Candler at pobox.com> wrote:
> > Well, I just wondered under what circumstances the server might stop
> > answering queries
> Stop blaming the server.
I am not. I am trying to understand what is going on.
> The log message says that the rediswho module is blocking. So.... The rediswho module is the one blocking the server.
> > If a particular server thread becomes unresponsive, is there some
> > functionality in the core which kills that thread and starts a new one? Or
> > would the server eventually grind to a halt?
> You can't really kill threads. Doing that leads to memory leaks, open file descriptors, permanently locked mutexes, etc.
> Make sure that your databases don't take the server down.
OK this is clear: if the rediswho module blocks indefinitely, it will take
down that thread indefinitely. Once the thread pool is all in this state,
the server will stop responding.
This is what I saw, so I will dig deeper.
The code which picks a connection from a pool appears to be closely borrowed
from rlm_sql/sql.c (and therefore is probably OK)
More information about the Freeradius-Devel