in kyuubi-relocated-hive-metastore-client/src/main/java/org/apache/kyuubi/shaded/hive/common/ZooKeeperHiveHelper.java [282:317]
public CuratorFramework getNewZookeeperClient(
ACLProvider zooKeeperAclProvider, String nameSpace) {
LOG.info(
"Creating curator client with connectString: {} namespace: {} sessionTimeoutMs: {}"
+ " connectionTimeoutMs: {} exponentialBackoff - sleepTime: {} maxRetries: {}",
quorum,
nameSpace,
sessionTimeout,
connectionTimeout,
baseSleepTime,
maxRetries);
// Create a CuratorFramework instance to be used as the ZooKeeper client.
// Use the zooKeeperAclProvider, when specified, to create appropriate ACLs.
CuratorFrameworkFactory.Builder builder =
CuratorFrameworkFactory.builder()
.connectString(quorum)
.namespace(nameSpace)
.zookeeperFactory(this.zookeeperFactory);
if (connectionTimeout > 0) {
builder = builder.connectionTimeoutMs(connectionTimeout);
}
if (sessionTimeout > 0) {
builder = builder.sessionTimeoutMs(sessionTimeout);
}
if (maxRetries > 0) {
builder = builder.retryPolicy(new ExponentialBackoffRetry(baseSleepTime, maxRetries));
} else {
// Retry policy is mandatory
builder = builder.retryPolicy(new RetryOneTime(1000));
}
if (zooKeeperAclProvider != null) {
builder = builder.aclProvider(zooKeeperAclProvider);
}
return builder.build();
}