Free Radius not sending reject message when using "max_request_time"
Hi, There is a parameter "max_request_time" defined in file radiusd.conf which indicates the maximum time free Radius takes to handle a request. Request which take more time than this will be killed and reject message is sent by Free radius. This problem is most often seen when using an SQL database. Possible range for this parameter is 5 to 120 (in secs) I am trying to test this and trying to execute SQL query from free radius which will take more time than max_request_time. But free radius is not sending reject message instead it comes out with an error "no response from the server". Could anybody please help? Is anything else to be configured in free radius to use this parameter. Thanks & Regards Manjunath
manjunath uthappa ponnachana wrote:
I am trying to test this and trying to execute SQL query from free radius which will take more time than max_request_time. But free radius is not sending reject message instead it comes out with an error "no response from the server".
That's how it works. The problem is that the call to SQL is blocking at the OS layer. i.e. FreeRADIUS isn't running any more for that thread. So it's pretty much impossible *forcibly* stop that SQL query. The solution to a slow database is to fix the database. Poking FreeRADIUS won't work. Any changes you make to FreeRADIUS will make the problem worse. There is NO reason why an SQL database takes more than .1s to return from a query. If it does, your database is horribly broken. Alan DeKok.
participants (2)
-
Alan DeKok -
manjunath uthappa ponnachana