Failure detector downs should not break streams
-----------------------------------------------

                 Key: CASSANDRA-3569
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3569
             Project: Cassandra
          Issue Type: Bug
            Reporter: Peter Schuller
            Assignee: Peter Schuller


CASSANDRA-2433 introduced this behavior just to get repairs to don't sit there 
waiting forever. In my opinion the correct fix to that problem is to use TCP 
keep alive. Unfortunately the TCP keep alive period is insanely high by default 
on a modern Linux, so just doing that is not entirely good either.

But using the failure detector seems non-sensicle to me. We have a 
communication method which is the TCP transport, that we know is used for 
long-running processes that you don't want to incorrectly be killed for no good 
reason, and we are using a failure detector tuned to detecting when not to send 
real-time sensitive request to nodes in order to actively kill a working 
connection.

So, rather than add complexity with protocol based ping/pongs and such, I 
propose that we simply just use TCP keep alive for streaming connections and 
instruct operators of production clusters to tweak 
net.ipv4.tcp_keepalive_{probes,intvl} as appropriate (or whatever equivalent on 
their OS).

I can submit the patch. Awaiting opinions.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to