[RADIATOR] ActiveState Win32 and FailureBackoffTime
Robert Fisher
robert at sitestar.net
Tue Jul 23 09:01:21 CDT 2013
Hrmm -- Don't have a trace 4 log, but did see where the logs have a
backing off
for 0 seconds, and my ClientListSQL clause has a refresh of 900 -- but
it's still
not triggering a reconnect, though I do notice I'm running a rather old
version
of 3.14 -- so going to try updating Perl and Radiator before continuing
to tweak
settings.
Robert Fisher
Systems Administrator
Sitestar Internet Services
On 7/23/2013 5:43 AM, Sami Keski-Kasari wrote:
> 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,
>>
>
>
More information about the radiator
mailing list