sql hangs, was (conflicts/duplicates need)

Duane Cox duanec at mail.illicom.net
Fri Apr 7 17:18:38 CEST 2006


Here is the debug of a packet, there is nothing special about this packet.
This packet hits the radius server every 30 seconds to test availability,
for monitoring purposes.
What hangs is the release of the rlm_sql ...  (using sql_unixodbc)

Ready to process requests.
rad_recv: Access-Request packet from host x.x.x.x:32769, id=253, length=51
        User-Name = "intermapper"
        User-Password = "illicom"
  Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 0
  modcall[authorize]: module "preprocess" returns ok for request 0
  modcall[authorize]: module "chap" returns noop for request 0
  modcall[authorize]: module "mschap" returns noop for request 0
    rlm_realm: No '@' in User-Name = "intermapper", skipping NULL due to
config.
  modcall[authorize]: module "domain" returns noop for request 0
    rlm_realm: No '\' in User-Name = "intermapper", skipping NULL due to
config.
  modcall[authorize]: module "ntdomain" returns noop for request 0
radius_xlat:  'intermapper'
rlm_sql (sql): sql_set_user escaped user --> 'intermapper'
radius_xlat:  'select id, username, attribute, value, op from radcheck where
username = 'intermapper' order by id'
rlm_sql (sql): Reserving sql socket id: 9
radius_xlat:  ''
radius_xlat:  'select id, username, attribute, value, op from radreply where
username = 'intermapper' order by id'
radius_xlat:  'select radgroupreply.id, radgroupreply.groupname,
radgroupreply.attribute, radgroupreply.value, radgroupreply.op from
radgroupreply, usergroup where usergroup.username = 'intermapper' and
usergroup.groupname = radgroupreply.groupname order by radgroupreply.id'
rlm_sql (sql): Released sql socket id: 9
  modcall[authorize]: module "sql" returns ok for request 0
  modcall[authorize]: module "files" returns notfound for request 0
modcall: leaving group authorize (returns ok) for request 0
auth: type Local
auth: user supplied User-Password matches local User-Password
Login OK: [intermapper] (from client intermapper port 0)
  Processing the post-auth section of radiusd.conf
modcall: entering group post-auth for request 0
rlm_sql (sql): Processing sql_postauth
radius_xlat:  'intermapper'
rlm_sql (sql): sql_set_user escaped user --> 'intermapper'
radius_xlat:  'insert into radauth (UserName, Password, RadReply,
NASIPAddress, NASIdentifier, NASPort, NASPortType, CalledStationId,
CallingStationId) values ('intermapper', 'illicom', 'Access-Accept',
'x.x.x.x', '', '', '', '', '')'
rlm_sql (sql) in sql_postauth: query is insert into radauth (UserName,
Password, RadReply, NASIPAddress, NASIdentifier, NASPort, NASPortType,
CalledStationId, CallingStationId) values ('intermapper', 'illicom',
'Access-Accept', 'x.x.x.x', '', '', '', '', '')
rlm_sql (sql): Reserving sql socket id: 8

30 - 45 (sometimes 60) second pause ....

then finally...

rlm_sql (sql): Released sql socket id: 8

and then radiusd processes packets that apparently it had buffered...


During this 30-60 second pause of freeradius, I tested queries to the
database with isql and everything returned fine.
I also was able to use our billing/accounting client to pull data from the
database and it was fine.
There is no resource intensive application pulling data from the database
when this is happening and all other db clients and communication goes
uninterrupted.

Any ideas?






More information about the Freeradius-Users mailing list