You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Eric Plowe <er...@gmail.com> on 2014/05/29 22:18:50 UTC

Re: binary protocol server side sockets

Michael,

The ask is for letting keep alive be configurable for native transport,
with Socket.setKeepAlive. By default, SO_KEEPALIVE is false (
http://docs.oracle.com/javase/7/docs/api/java/net/StandardSocketOptions.html#SO_KEEPALIVE).


Regards,

Eric Plowe


On Wed, Apr 9, 2014 at 1:25 PM, Michael Shuler <mi...@pbandjelly.org>wrote:

> On 04/09/2014 11:39 AM, graham sanderson wrote:
>
>> Thanks, but I would think that just sets keep alive from the client end;
>> I’m talking about the server end… this is one of those issues where
>> there is something (e.g. switch, firewall, VPN in between the client and
>> the server) and we get left with orphaned established connections to the
>> server when the client is gone.
>>
>
> There would be no server setting for any service, not just c*, that would
> correct mis-configured connection-assassinating network gear between the
> client and server. Fix the gear to allow persistent connections.
>
> Digging through the various timeouts in c*.yaml didn't lead me to a simple
> answer for something tunable, but I think this may be more basic networking
> related. I believe it's up to the client to keep the connection open as Duy
> indicated. I don't think c* will arbitrarily sever connections - something
> that disconnects the client may happen. In that case, the TCP connection on
> the server should drop to TIME_WAIT. Is this what you are seeing in
> `netstat -a` on the server - a bunch of TIME_WAIT connections hanging
> around? Those should eventually be recycled, but that's tunable in the
> network stack, if they are being generated at a high rate.
>
> --
> Michael
>