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