[RADIATOR] ActiveState Win32 and FailureBackoffTime

Sami Keski-Kasari samikk at open.com.au
Tue Jul 23 05:43:37 CDT 2013


Hello Robert,

On 07/22/2013 05:59 PM, Robert Fisher wrote:

> Even though I have the FailureBackoffTime defined to 300 or 5 minutes,
> it seems to be ignored.

It is supported on windows. FailureBackoffTime applies when none of the 
configured DBs can be connected. The next connection attempt is done 
when the FailureBackoffTime has elapsed.

Can you see "Backing off for aaaaa seconds messages" in the log?

Could you reply with trace 4 logfile from this event?

> The documentation does state the optional Timeout
> parameter is ignored on ActiveState Win32, and I suspect that has more
> to do with the level of control of TCP sockets in Win32 more than anything
> else.

True, Timeout is ignored and the command runs as long as it returns for 
some reason. The reason it is ignored has to do with how signals are 
implemented in Win32 perl.

> What I don't understand is why the FailureBackoffTime doesn't cause
> Radiator to attempt a reconnect, and can see there's no second attempt
> to reconnect because nothing new about the connection makes it into
> the logs 5 - 10 - 15 minutes or even hours after the event until the
> service/daemon is restarted.

If there is activity that requires DB access and there is currently no 
connection to the DB, it should reconnect. Note that if you have e.g., 
ClientListSQL with no refresh, there is only one attempt to fetch the 
client list. If that fails, then no retries are done. You can configure 
a refresh interval that should make periodic connections.

> So my questions are:
>
>
> 1)   Is some extra step required to use FailureBackoffTime in Windows?

No

> 2)    Alternatively, is there any way to hook into the connection lost
> as an event so I can kill the radiator instance -- since that would at
> least be able to signal to Windows that the service has "died" and
> can then use the MS tools to try and restart the service and thus
> resynch the connection.

There is currently undocumented hook that is called when no databases 
can be connected to. Currently the hook just logs the above "Backing 
off..." massage and does nothing else.:
ConnectionAttemptFailedHook (see SqlDb.pm).

Best Regards,
  Sami





> Thanks in advance,
>


-- 
Sami Keski-Kasari <samikk at open.com.au>

Radiator: the most portable, flexible and configurable RADIUS server
anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald,
Platypus, Freeside, TACACS+, PAM, external, Active Directory, EAP, TLS,
TTLS, PEAP, TNC, WiMAX, RSA, Vasco, Yubikey, MOTP, HOTP, TOTP,
DIAMETER etc. Full source on Unix, Windows, MacOSX, Solaris, VMS,
NetWare etc.


More information about the radiator mailing list