rlm_rediswho with spaces

Brian Candler 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)

Regards,

Brian.


More information about the Freeradius-Devel mailing list