[
https://issues.apache.org/jira/browse/ZOOKEEPER-1748?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16043427#comment-16043427
]
ASF GitHub Bot commented on ZOOKEEPER-1748:
-------------------------------------------
Github user hanm commented on a diff in the pull request:
https://github.com/apache/zookeeper/pull/276#discussion_r120997880
--- Diff: src/docs/src/documentation/content/xdocs/zookeeperAdmin.xml ---
@@ -1179,6 +1179,29 @@ server.3=zoo3:2888:3888</programlisting>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term>tcpKeepAlive</term>
+
+ <listitem>
+ <para>(Java system property: <emphasis
+
role="bold">zookeeper.tcpKeepAlive</emphasisi>)</para>
+
+ <para><emphasis role="bold">New in 3.4.11:</emphasis>
--- End diff --
Please replace 3.4.11 with 3.5.4. 3.4.11 is only applicable for branch-3.4
and 3.5.4 is the version number we use for branch-3.5.
> 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: Daniel Peon
> Priority: Minor
> Fix For: 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)