Issue 224 in redis: add TCP keepalive configuration options for client connections

165 views
Skip to first unread message

re...@googlecode.com

unread,
Apr 6, 2010, 7:00:44 AM4/6/10
to redi...@googlegroups.com
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium

New issue 224 by trickie: add TCP keepalive configuration options for
client connections
http://code.google.com/p/redis/issues/detail?id=224

What steps will reproduce the problem?
1. Connect a client or slave to a master via a proxy or loadbalancer (such
as a LVS setup using
TCP tunneling)
2. Keep the client idle for some time (depends on the config of the proxy
or loadbalancer)
3.

What is the expected output? What do you see instead?
Client should stay connected, and the socket/fd on both end stays open, but
the connection is
lost in the middle when the loadbalancer thinks the connection is no longer
active or alive.

Instead I see the loadbalancer dropping the connection. Our setup uses TCP
tunneling, so the
breaking of the connection is not detected by either end of the connection,
and particularly on the
server-side, the amount of file descriptors open keeps rising. Having a
client connection timeout
set in the redis.conf is a workaround, but does not fix the issue.

What version of the product are you using? On what operating system?

1.2.6 - current stable


Please provide any additional information below.

I have a patch to add a configuration option to set proper TCP keepalive
options on all client
connections: http://github.com/trickie/redis/


--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

re...@googlecode.com

unread,
Apr 6, 2010, 7:07:58 AM4/6/10
to redi...@googlegroups.com

Comment #1 on issue 224 by trickie: add TCP keepalive configuration options

My patch (at least on Linux) adds an option to specify the interval in
which to start sending probes, the same
interval between probes, and will also break the connection when a probes
reveals a broken connection

re...@googlecode.com

unread,
Apr 6, 2010, 7:17:26 AM4/6/10
to redi...@googlegroups.com

Comment #2 on issue 224 by trickie: add TCP keepalive configuration options

The patch in the git tree doesn't quite apply on 1.2.6. Attached to this
ticket is a patch for 1.2.6 that is combined
with my replication sync patch from 203.

Attachments:
redis-all-in-one.patch 12.3 KB

Reply all
Reply to author
Forward
0 new messages