[
https://issues.apache.org/jira/browse/ZOOKEEPER-3827?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mate Szalay-Beko updated ZOOKEEPER-3827:
----------------------------------------
Summary: configure explicit sessionInitTimeout for client connection (was:
configure explicit sessionInitiationTimeout for client connection)
> configure explicit sessionInitTimeout for client connection
> -----------------------------------------------------------
>
> Key: ZOOKEEPER-3827
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3827
> Project: ZooKeeper
> Issue Type: Improvement
> Affects Versions: 3.6.1, 3.5.8
> Reporter: Mate Szalay-Beko
> Assignee: Mate Szalay-Beko
> Priority: Major
>
> Currently the connectTimeout (the maximum amount of time to connect to one
> ZooKeeper server) in the Java client is initialized as {{<session timeout> /
> <number of zk servers to connect>}}. See
> [here|https://github.com/apache/zookeeper/blob/236e3d9183606512f0e03a1f828ad0d392eb6091/zookeeper-server/src/main/java/org/apache/zookeeper/ClientCnxn.java#L440]
> and
> [here|https://github.com/apache/zookeeper/blob/236e3d9183606512f0e03a1f828ad0d392eb6091/zookeeper-server/src/main/java/org/apache/zookeeper/ClientCnxn.java#L1430]).
> This means, that connecting to a large ZooKeeper cluster can be hard (as we
> will have shorter connect timeout than we would have by just specifying a
> single server). The idea behind the current approach (I think) is that the
> connection initiation should be timeouted when the session timeout elapsed.
> And we want to make sure that we have the time to try out all the given
> servers before our sessionTimeout elapses.
> But when we use Kerberized cluster with SSL, we might end up having long
> connection initiation (until all the authentication and handshakes are
> completed). Still, we might want to keep the session timeout short for our
> application. E.g. we were facing connection timeouts with Kafka brokers
> trying to use SASL+SSL to communicate with ZooKeeper.
> So it would be nice to be able to set an explicit sessionInitiationTimeout in
> the ZooKeeper client, independently from the session timeout.
> If this configuration is not set, we would fallback to our current approach.
> But if it is set, then we would use it to calculate the connectTimeout.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)