# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
namespace=cloud.config

# Vespa home is prepended if the file is relative
zooKeeperConfigFile string default="conf/zookeeper/zookeeper.cfg"

# For more info about the values below, see ZooKeeper documentation

# tick time in milliseconds, min and max session timeout are 2 and 20 times this value
tickTime int default=6000
initLimit int default=20
syncLimit int default=15
maxClientConnections int default=0

# Vespa home is prepended if the file is relative
dataDir string default="var/zookeeper"

clientPort int default=2181
# TODO(bjorncs): remove setting - no longer in use
secureClientPort int default=2184

snapshotCount int default=50000
# Purge interval in hours
autopurge.purgeInterval int default=1
autopurge.snapRetainCount int default=15

# Vespa home is prepended if the file is relative
myidFile string default="var/zookeeper/myid"
# Change from default of 1 Mb in zookeeper to 50 Mb
juteMaxBuffer int default=52428800

myid int restart
server[].id int
server[].hostname string
server[].quorumPort int default=2182
server[].electionPort int default=2183
# Whether this server is joining an existing cluster
server[].joining bool default=false

# Needed when upgrading from ZooKeeper 3.4 to 3.5, see https://issues.apache.org/jira/browse/ZOOKEEPER-3056,
# and in general where there is a zookeeper ensemble running that has had few transactions.
# TODO: Consider setting this to false by default (and override where appropriate)
trustEmptySnapshot bool default=true

# TLS options
# TODO(bjorncs): todo cleanup after migrating to unified Vespa TLS configuration
tlsForQuorumCommunication enum { OFF, PORT_UNIFICATION, TLS_WITH_PORT_UNIFICATION, TLS_ONLY } default=OFF
# TODO(bjorncs): todo cleanup after migrating to unified Vespa TLS configuration
tlsForClientServerCommunication enum { OFF, PORT_UNIFICATION, TLS_WITH_PORT_UNIFICATION, TLS_ONLY } default=OFF
# TODO(bjorncs): remove setting - no longer in use
jksKeyStoreFile string default="conf/zookeeper/zookeeper.jks"

dynamicReconfiguration bool default=false
