public CuratorFramework getNewZookeeperClient()

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();
  }