Multiple accounting requests crash the server [update]

Mother mother at netstumbler.com
Fri Jan 25 13:15:45 CET 2008


Update to the problem: the accounting-stop alternate query is actually 
an INSERT, not an UPDATE, by default, which actually surprises me, as in 
case of a duplicate packet, an INSERT into a properly unique-indexed 
table is doomed. I have now simply changed the -alt into an UPDATE 
query, so it would also not affect any record, but at least will not 
cause Oracle to balk.

My only problem now is how to make sure FreeRADIUS does not freeze upon 
an SQL error.

Cheers,

Mike


Mother wrote:
> Hi all,
> 
> I am seeing a strange situation. I receive an accounting-stop request 
> from a NAS, and FreeRADIUS (1.1.7 against Oracle) updates the 
> corresponding radacct record. However, the NAS is not receiving the ack, 
> and thus re-sends the stop request. On the second request, FreeRADIUS 
> tries to do an update query again, and then, an insert query, with the 
> stop message details (i.e. only a stop time, reason idle-timeout, etc.), 
> which fails. After the third request from the NAS (and corresponding 
> update followed by insert), Oracle throws a unique constraint violation 
> error, and the server freezes.
> 
> Questions:
> 
> 1. Why is FreeRADIUS failing to see that this request was already 
> acknowledged, i.e. it has been updated on the database, and just sends 
> an ACK, rather than trying to insert a new record?
> 
> 2. Why does FreeRADIUS freeze on an SQL error from Oracle? Should it not 
> just log the error and carry on about its business? I am finding my 
> server freezing every few days due to these issues, for example, if a 
> query takes too long to run, or a trigger fails to execute. Is 
> FreeRADIUS against Oracle more fragile than say MySQL?
> 
> Cheers,
> 
> Mike
> 
> -
> List info/subscribe/unsubscribe? See 
> http://www.freeradius.org/list/users.html
> 



More information about the Freeradius-Users mailing list