Zebedee and KEEPALIVE

Ovchinnikov Vasily <[email protected]> Fri, 21 Sep 2012 10:29:01 +0400
Newsgroups gmane.comp.security.zebedee.general
Message-ID <[email protected]>
Hi!

I've been used zebedee for many years and I know that zebedee used SO_KEEPALIVE socket option for both client 
and server. Our network involved more than 100 servers all over the Russia and zebedee protects Firebird SQL 
server traffic over the public Internet connections.

But time to time I stand face to face with a small problem and I cannot explain why it happens.

When connection brokes on the client side than zebedee process that serves this secure channel on the server 
side don't recognize this fact and don't closes connection (both to broken client and to local SQL server) and 
don't terminates. Therefor SQL server resources still used also and those clients looks like "dead clients" 
for SQL server. Like clients with the long-long-time transaction. And nothing happens within this transaction. 
Restarting of zebedee server is the solution. But this set me pay attention for this and it's so hard to 
monitor 100+ servers continiously. Because of that I restart zebedee server by shcedule once-a-day on some 
servers where this problem occured more offtenly.

All the servers runs Windows 2003/2008. Keepalive settings has default vales (keepalive time 120 min)
Zebedee server logfile do not contains any records about unavailability of setting SO_KEEPALIVE socket option.

I think that I have to research this situation by standing some experiments with network sniffer on the 
zebedee server side.

Maybe someone has a solution? Or it looks like only TCP stack KEEPALIVE problem?

-- 
Regards,
Ovchinnikov Vasily
ova at tkvc ru



------------------------------------------------------------------------------
Got visibility?
Most devs has no idea what their production app looks like.
Find out how fast your code is with AppDynamics Lite.
http://ad.doubleclick.net/clk;262219671;13503038;y?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html