Subject Firebird and Windows - TCPIP KeepAliveTime
Author Geoff Worboys
Hi All,

I have an issue with the time that Firebird may keep thinking
a connection is alive after the client computer has died.
(Under Windows 2000 Server, Firebird v1.5.3, clients are mostly
from Windows Terminal Servers.)

Courtesy of the useful notes in firebird.conf I was able to
find down the necessary links for the Windows operating system
configuration behind this issue. Apparently the default
Windows KeepAliveTime for a connection is 2 hours.

I am wondering how short I could make this setting and what
other impacts it may have if I do make it short?

(I guess the related question is whether there is an ideal
setting for the KeepAliveInterval value as well?)

For my situation I would like Firebird to know about lost
connections within about 5 minutes (so by the time the failed
terminal server has rebooted and let users back on, the server
has found that their old session is dead and dropped it).

I was sort of hoping that others here may have experimented
with this setting and be able to tell me if such a short
timeout works - and whether it has any downsides. If not I
guess I will have to experiment for myself :-)

Its all quite strange really - the server seems to discover
the lost connections for most users from a failed terminal
server quite quickly. But there seem to be just one or two
that hang around for quite a while - and this impacts their
ability to log back on (because of checks made by my program).

Geoff Worboys
Telesis Computing