Brian Candler wrote:
I am not. I am trying to understand what is going on.
I understand. I'm trying to point out that the log message is pretty obvious.
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.
Yes. This is what happens with SQL, too. There are many posts about it on the -users list.
The code which picks a connection from a pool appears to be closely borrowed from rlm_sql/sql.c (and therefore is probably OK)
Possibly. That code is pretty horrific, and has been re-written in "master". You can always use "gdb" to attach to a running process. Then, inspect a blocked thread, to see where it's blocked. After that, the solution should be pretty obvious. Alan DeKok.