zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Han (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ZOOKEEPER-1748) TCP keepalive for leader election connections
Date Fri, 09 Jun 2017 16:41:18 GMT

    [ https://issues.apache.org/jira/browse/ZOOKEEPER-1748?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16044654#comment-16044654
] 

Michael Han commented on ZOOKEEPER-1748:
----------------------------------------

Committed to master: https://github.com/apache/zookeeper/commit/4517050510f8db354589d054c9ded4c78b36902f
Committed to branch-3.5: https://github.com/apache/zookeeper/commit/e47e6bb8791b2dce9b82ebe96a1c0d8a173726e0
Documentation fix for branch-3.4: https://github.com/apache/zookeeper/commit/ca4a91dc7ef01c34e3849d99fa3764003fc89715

> TCP keepalive for leader election connections
> ---------------------------------------------
>
>                 Key: ZOOKEEPER-1748
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1748
>             Project: ZooKeeper
>          Issue Type: Improvement
>          Components: leaderElection
>    Affects Versions: 3.4.5, 3.5.0
>         Environment: Linux, Java 1.7
>            Reporter: Antal Sasvári
>            Assignee: Ben Sherman
>            Priority: Minor
>             Fix For: 3.5.4, 3.6.0, 3.4.11
>
>         Attachments: Zookeeper-1748-add_tcp_keepalive.patch
>
>
> In our system we encountered the following problem:
> If the system is stable, and there is no leader election, the leader election port connections
are open for very long time without any packets being sent on them.
> Some network elements silently drop the established TCP connection after a timeout if
there are no packets being sent on it. In this case the ZK servers will not notice the connection
loss. This causes additional delay later when the next leader election is started, as the
TCP connections are not alive any more.
> We would like to be able to enable TCP keepalive on the leader election sockets in order
to prevent the connection timeout in some network elements due to connection inactivity.
> This could be controlled by adding a new config parameter called tcpKeepAlive in the
ZooKeeper configuration file. It would be only applicable in case of algorithm 3 (TCP based
fast leader election), having the default value false.
> If tcpKeepAlive is set to true, the TCP keepalive flag should be enabled for the leader
election sockets in QuorumCnxManager.setSockOpts() by calling sock.setKeepAlive(true).
> We have tested this change successfully in our environment.
> Please comment whether you see any problem with this. If not, I am going to submit a
patch.
> I've been told that e.g. Apache ActiveMQ also has a config option for similar purpose
called transport.keepalive.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message