You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Andreas Piesk <a....@gmx.net> on 2014/03/10 20:48:33 UTC

Patch implementing SO_KEEPALIVE on sockets

Hello list,

we had some problems with qpid-0.14 (i know, it's ancient -:): lots of 
orphaned connections (open on qpid-server but not on the client side) 
due firewalls, i guess.

To mitigate the problem i wrote a patch for qpid-cpp implementing a new 
option --tcp-keepalive (similar to --tcp-nodelay) which sets 
SO_KEEPALIVE. Enabling keep_alive "solved" our issue but i'm not sure 
what to do with the patch because it's for an old version and needs some 
rewriting for the current version of qpid.
Unfortunately i'm unable to adapt it to the current version for various 
reasons:

- i'm no developer, i barely scratch my itches
- lack of time

So i simply post the patch here, maybe someone else has plans to add 
keepalive in trunk and maybe the patch helps.

Regards,
-ap


RE: Patch implementing SO_KEEPALIVE on sockets

Posted by Steve Huston <sh...@riverace.com>.
Hi Andreas,

Curious... Did you try to use AMQP heartbeats to alleviate the problem? Missed heartbeats would have killed the TCP connection whether TCP keepalives were on (which should usually be the default) or not.

-Steve

> -----Original Message-----
> From: Andreas Piesk [mailto:a.piesk@gmx.net]
> Sent: Monday, March 10, 2014 3:49 PM
> To: dev@qpid.apache.org
> Subject: Patch implementing SO_KEEPALIVE on sockets
> 
> Hello list,
> 
> we had some problems with qpid-0.14 (i know, it's ancient -:): lots of
> orphaned connections (open on qpid-server but not on the client side) due
> firewalls, i guess.
> 
> To mitigate the problem i wrote a patch for qpid-cpp implementing a new
> option --tcp-keepalive (similar to --tcp-nodelay) which sets SO_KEEPALIVE.
> Enabling keep_alive "solved" our issue but i'm not sure what to do with the
> patch because it's for an old version and needs some rewriting for the
> current version of qpid.
> Unfortunately i'm unable to adapt it to the current version for various
> reasons:
> 
> - i'm no developer, i barely scratch my itches
> - lack of time
> 
> So i simply post the patch here, maybe someone else has plans to add
> keepalive in trunk and maybe the patch helps.
> 
> Regards,
> -ap


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org