(RADIATOR) SQL Timeout?

Griff Hamlin griff3 at quik.com
Tue Oct 22 11:08:51 CDT 2002


Hello,

I've noticed that about every 3 hours, I get an error message in my
logfile:

Tue Oct 22 02:03:03 2002: ERR: do failed for 'insert into dialupusage
      (username, session_id, router_ip, date, session_time, ip_address,
phone)
      values
      ('level3', '0000123410-22', '209.244.125.132', '2002-10-22
2:2:53', '0', '65.56.213.14', '9876543210')': SQL Timeout

and whenever I get this message, my server stops authenticating fast
enough. What's odd, is that if I run radpwtst and try to do a test
authentication, I'll get no reply after seeing this message until I
restart the radius server. But if I 'tail -f' my logfile, I see people
being authenticated, it's just getting to them maybe a minute or more
after the request comes in. Basically, the server gets behind in the
event it gets one of the SQL Timeout errors. My first question is, what
would cause that error, and secondly, why does it hang up Radiator?

The part of my radius.cfg file that handles accounting is as follows:
<Handler Request-Type=Accounting-Request>
  RewriteUsername s/^([^@]+).*/$1/

  # Hook for using correct termination field and some logging
  PreAuthHook file:"/etc/raddb/accounting.hook"

  <AuthBy GROUP>
    AuthByPolicy ContinueUntilIgnore
    <AuthBy SQL>

      DBSource    dbi:mysql:localdialup
      DBUsername  %{GlobalVar:DbUser}
      DBAuth      %{GlobalVar:DbPass}

      AccountingTable dialupusage
      AccountingStopsOnly
      Timeout 5
      FailureBackoffTime 20
      AcctColumnDef username, %U, formatted
      AcctColumnDef session_id, %{Acct-Session-Id}%m-%d, formatted
      AcctColumnDef router_ip, %c, formatted
      AcctColumnDef date, %f-%g-%i %j:%k:%p, formatted
      AcctColumnDef session_time, %{Acct-Session-Time}, formatted
      AcctColumnDef ip_address, %{Framed-IP-Address}, formatted
      AcctColumnDef phone, %{Calling-Station-Id}, formatted
      AcctColumnDef terminate_cause, %{Term-Cause}, formatted
    </AuthBy>
    <AuthBy SQL>
      DBSource    %{GlobalVar:DbServer}
      DBUsername  %{GlobalVar:DbUser}
      DBAuth      %{GlobalVar:DbPass}
      AccountingStopsOnly
      Timeout 5
      FailureBackoffTime 20

      AcctSQLStatement update users set
prepaid_timeleft=prepaid_timeleft-0%{Acct-Session-Time} where
(prepay='true')&&(username='%U')

      AcctSQLStatement delete from online where
(((nasidentifier='%c')&&(nasport='%{NAS-Port}'))||((username='%n')&&(callingid='%{Calling-Station-Id}')))

    </AuthBy> # SQL
  </AuthBy> # Group
  AccountingHandled
</Handler>



Griff Hamlin, III
Quik Internet

===
Archive at http://www.open.com.au/archives/radiator/
Announcements on radiator-announce at open.com.au
To unsubscribe, email 'majordomo at open.com.au' with
'unsubscribe radiator' in the body of the message.


More information about the radiator mailing list