diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml
index aeb0a14bb..7edc4f662 100644
--- a/.github/workflows/master.yml
+++ b/.github/workflows/master.yml
@@ -57,17 +57,17 @@ jobs:
include:
- java: 8
spark: '3.3'
- spark-archive: '-Dspark.archive.mirror=https://archive.apache.org/dist/spark/spark-3.1.3 -Dspark.archive.name=spark-3.1.3-bin-hadoop3.2.tgz'
+ spark-archive: '-Dspark.archive.mirror=https://archive.apache.org/dist/spark/spark-3.1.3 -Dspark.archive.name=spark-3.1.3-bin-hadoop3.2.tgz -Pzookeeper-3.6'
exclude-tags: '-Dmaven.plugin.scalatest.exclude.tags=org.scalatest.tags.Slow,org.apache.kyuubi.tags.DeltaTest,org.apache.kyuubi.tags.IcebergTest'
comment: 'verify-on-spark-3.1-binary'
- java: 8
spark: '3.3'
- spark-archive: '-Dspark.archive.mirror=https://archive.apache.org/dist/spark/spark-3.2.4 -Dspark.archive.name=spark-3.2.4-bin-hadoop3.2.tgz'
+ spark-archive: '-Dspark.archive.mirror=https://archive.apache.org/dist/spark/spark-3.2.4 -Dspark.archive.name=spark-3.2.4-bin-hadoop3.2.tgz -Pzookeeper-3.6'
exclude-tags: '-Dmaven.plugin.scalatest.exclude.tags=org.scalatest.tags.Slow,org.apache.kyuubi.tags.DeltaTest,org.apache.kyuubi.tags.IcebergTest'
comment: 'verify-on-spark-3.2-binary'
- java: 8
spark: '3.3'
- spark-archive: '-Dspark.archive.mirror=https://archive.apache.org/dist/spark/spark-3.4.0 -Dspark.archive.name=spark-3.4.0-bin-hadoop3.tgz'
+ spark-archive: '-Dspark.archive.mirror=https://archive.apache.org/dist/spark/spark-3.4.0 -Dspark.archive.name=spark-3.4.0-bin-hadoop3.tgz -Pzookeeper-3.6'
exclude-tags: '-Dmaven.plugin.scalatest.exclude.tags=org.scalatest.tags.Slow,org.apache.kyuubi.tags.DeltaTest,org.apache.kyuubi.tags.IcebergTest'
comment: 'verify-on-spark-3.4-binary'
env:
diff --git a/LICENSE-binary b/LICENSE-binary
index 542259658..7322dec51 100644
--- a/LICENSE-binary
+++ b/LICENSE-binary
@@ -212,9 +212,6 @@ com.google.android:annotations
commons-lang:commons-lang
commons-logging:commons-logging
org.apache.commons:commons-lang3
-org.apache.curator:curator-client
-org.apache.curator:curator-framework
-org.apache.curator:curator-recipes
org.apache.derby:derby
com.google.errorprone:error_prone_annotations
net.jodah:failsafe
@@ -318,7 +315,6 @@ io.swagger.core.v3:swagger-jaxrs2
io.swagger.core.v3:swagger-models
io.vertx:vertx-core
io.vertx:vertx-grpc
-org.apache.zookeeper:zookeeper
com.squareup.retrofit2:retrofit
com.squareup.okhttp3:okhttp
org.apache.kafka:kafka-clients
diff --git a/NOTICE-binary b/NOTICE-binary
index 16281d0d8..40ec15010 100644
--- a/NOTICE-binary
+++ b/NOTICE-binary
@@ -92,15 +92,6 @@ Copyright 2001-2020 The Apache Software Foundation
Apache Commons Logging
Copyright 2003-2013 The Apache Software Foundation
-Curator Client
-Copyright 2011-2017 The Apache Software Foundation
-
-Curator Framework
-Copyright 2011-2017 The Apache Software Foundation
-
-Curator Recipes
-Copyright 2011-2017 The Apache Software Foundation
-
=========================================================================
== NOTICE file corresponding to section 4(d) of the Apache License,
== Version 2.0, in this case for the Apache Derby distribution.
diff --git a/bin/kyuubi-zk-cli b/bin/kyuubi-zk-cli
index 089b7ad18..f503c3e5a 100755
--- a/bin/kyuubi-zk-cli
+++ b/bin/kyuubi-zk-cli
@@ -17,7 +17,7 @@
#
## Zookeeper Shell Client Entrance
-CLASS="org.apache.zookeeper.ZooKeeperMain"
+CLASS="org.apache.kyuubi.shaded.zookeeper.ZooKeeperMain"
export KYUUBI_HOME="$(cd "$(dirname "$0")"/..; pwd)"
diff --git a/dev/dependencyList b/dev/dependencyList
index 6e5673f9d..ab80bcfab 100644
--- a/dev/dependencyList
+++ b/dev/dependencyList
@@ -32,9 +32,6 @@ commons-collections/3.2.2//commons-collections-3.2.2.jar
commons-lang/2.6//commons-lang-2.6.jar
commons-lang3/3.12.0//commons-lang3-3.12.0.jar
commons-logging/1.1.3//commons-logging-1.1.3.jar
-curator-client/2.12.0//curator-client-2.12.0.jar
-curator-framework/2.12.0//curator-framework-2.12.0.jar
-curator-recipes/2.12.0//curator-recipes-2.12.0.jar
derby/10.14.2.0//derby-10.14.2.0.jar
error_prone_annotations/2.14.0//error_prone_annotations-2.14.0.jar
failsafe/2.4.4//failsafe-2.4.4.jar
@@ -195,5 +192,4 @@ units/1.6//units-1.6.jar
vertx-core/4.3.2//vertx-core-4.3.2.jar
vertx-grpc/4.3.2//vertx-grpc-4.3.2.jar
zjsonpatch/0.3.0//zjsonpatch-0.3.0.jar
-zookeeper/3.4.14//zookeeper-3.4.14.jar
zstd-jni/1.5.2-1//zstd-jni-1.5.2-1.jar
diff --git a/externals/kyuubi-flink-sql-engine/pom.xml b/externals/kyuubi-flink-sql-engine/pom.xml
index c73310a64..8c62521b7 100644
--- a/externals/kyuubi-flink-sql-engine/pom.xml
+++ b/externals/kyuubi-flink-sql-engine/pom.xml
@@ -186,20 +186,15 @@
false
- org.apache.kyuubi:kyuubi-common_${scala.binary.version}
- org.apache.kyuubi:kyuubi-ha_${scala.binary.version}
com.fasterxml.jackson.core:*
com.fasterxml.jackson.module:*
com.google.guava:failureaccess
com.google.guava:guava
commons-codec:commons-codec
org.apache.commons:commons-lang3
- org.apache.curator:curator-client
- org.apache.curator:curator-framework
- org.apache.curator:curator-recipes
org.apache.hive:hive-service-rpc
org.apache.thrift:*
- org.apache.zookeeper:*
+ org.apache.kyuubi:*
@@ -228,13 +223,6 @@
com.fasterxml.jackson.**
-
- org.apache.curator
- ${kyuubi.shade.packageName}.org.apache.curator
-
- org.apache.curator.**
-
-
com.google.common
${kyuubi.shade.packageName}.com.google.common
@@ -278,20 +266,6 @@
org.apache.thrift.**
-
- org.apache.jute
- ${kyuubi.shade.packageName}.org.apache.jute
-
- org.apache.jute.**
-
-
-
- org.apache.zookeeper
- ${kyuubi.shade.packageName}.org.apache.zookeeper
-
- org.apache.zookeeper.**
-
-
diff --git a/externals/kyuubi-hive-sql-engine/pom.xml b/externals/kyuubi-hive-sql-engine/pom.xml
index 0319d3dd2..6af94abe5 100644
--- a/externals/kyuubi-hive-sql-engine/pom.xml
+++ b/externals/kyuubi-hive-sql-engine/pom.xml
@@ -179,12 +179,7 @@
com.fasterxml.jackson.core:jackson-core
com.fasterxml.jackson.core:jackson-databind
com.fasterxml.jackson.module:jackson-module-scala_${scala.binary.version}
- org.apache.kyuubi:kyuubi-common_${scala.binary.version}
- org.apache.kyuubi:kyuubi-events_${scala.binary.version}
- org.apache.kyuubi:kyuubi-ha_${scala.binary.version}
- org.apache.curator:curator-client
- org.apache.curator:curator-framework
- org.apache.curator:curator-recipes
+ org.apache.kyuubi:*
@@ -205,15 +200,6 @@
-
-
- org.apache.curator
- ${kyuubi.shade.packageName}.org.apache.curator
-
- org.apache.curator.**
-
-
-
diff --git a/externals/kyuubi-spark-sql-engine/pom.xml b/externals/kyuubi-spark-sql-engine/pom.xml
index 62fe39c00..67674e8c9 100644
--- a/externals/kyuubi-spark-sql-engine/pom.xml
+++ b/externals/kyuubi-spark-sql-engine/pom.xml
@@ -194,15 +194,9 @@
io.perfmark:perfmark-api
io.vertx:*
net.jodah:failsafe
- org.apache.curator:curator-client
- org.apache.curator:curator-framework
- org.apache.curator:curator-recipes
org.apache.hive:hive-service-rpc
- org.apache.kyuubi:kyuubi-common_${scala.binary.version}
- org.apache.kyuubi:kyuubi-events_${scala.binary.version}
- org.apache.kyuubi:kyuubi-ha_${scala.binary.version}
+ org.apache.kyuubi:*
org.apache.thrift:*
- org.apache.zookeeper:zookeeper
org.checkerframework:checker-qual
org.codehaus.mojo:animal-sniffer-annotations
@@ -227,27 +221,6 @@
-
- org.apache.curator
- ${kyuubi.shade.packageName}.org.apache.curator
-
- org.apache.curator.**
-
-
-
- org.apache.zookeeper
- ${kyuubi.shade.packageName}.org.apache.zookeeper
-
- org.apache.zookeeper.**
-
-
-
- org.apache.jute
- ${kyuubi.shade.packageName}.org.apache.jute
-
- org.apache.jute.**
-
-
org.apache.hive.service.rpc.thrift
${kyuubi.shade.packageName}.org.apache.hive.service.rpc.thrift
diff --git a/kyuubi-assembly/pom.xml b/kyuubi-assembly/pom.xml
index 0524470a2..1087201b1 100644
--- a/kyuubi-assembly/pom.xml
+++ b/kyuubi-assembly/pom.xml
@@ -68,6 +68,11 @@
${project.version}
+
+ org.apache.kyuubi
+ ${kyuubi-shaded-zookeeper.artifacts}
+
+
org.apache.hadoop
hadoop-client-api
@@ -78,21 +83,6 @@
hadoop-client-runtime
-
- org.apache.curator
- curator-framework
-
-
-
- org.apache.curator
- curator-client
-
-
-
- org.apache.curator
- curator-recipes
-
-
com.google.code.findbugs
jsr305
diff --git a/kyuubi-ctl/pom.xml b/kyuubi-ctl/pom.xml
index eb4060ffd..da1a5777a 100644
--- a/kyuubi-ctl/pom.xml
+++ b/kyuubi-ctl/pom.xml
@@ -48,6 +48,11 @@
${project.version}
+
+ org.apache.kyuubi
+ ${kyuubi-shaded-zookeeper.artifacts}
+
+
org.apache.hadoop
hadoop-client-api
@@ -60,16 +65,6 @@
provided
-
- org.apache.curator
- curator-framework
-
-
-
- org.apache.curator
- curator-recipes
-
-
com.github.scopt
scopt_${scala.binary.version}
@@ -86,11 +81,6 @@
${snakeyaml.version}
-
- org.apache.zookeeper
- zookeeper
-
-
org.apache.kyuubi
kyuubi-common_${scala.binary.version}
diff --git a/kyuubi-ha/pom.xml b/kyuubi-ha/pom.xml
index b4605b6a1..cf605b37f 100644
--- a/kyuubi-ha/pom.xml
+++ b/kyuubi-ha/pom.xml
@@ -38,18 +38,8 @@
- org.apache.curator
- curator-framework
-
-
-
- org.apache.curator
- curator-recipes
-
-
-
- org.apache.zookeeper
- zookeeper
+ org.apache.kyuubi
+ ${kyuubi-shaded-zookeeper.artifacts}
diff --git a/kyuubi-ha/src/main/scala/org/apache/kyuubi/ha/client/DiscoveryPaths.scala b/kyuubi-ha/src/main/scala/org/apache/kyuubi/ha/client/DiscoveryPaths.scala
index 987a88dda..fe7ebe2ab 100644
--- a/kyuubi-ha/src/main/scala/org/apache/kyuubi/ha/client/DiscoveryPaths.scala
+++ b/kyuubi-ha/src/main/scala/org/apache/kyuubi/ha/client/DiscoveryPaths.scala
@@ -17,7 +17,7 @@
package org.apache.kyuubi.ha.client
-import org.apache.curator.utils.ZKPaths
+import org.apache.kyuubi.shaded.curator.utils.ZKPaths
object DiscoveryPaths {
def makePath(parent: String, firstChild: String, restChildren: String*): String = {
diff --git a/kyuubi-ha/src/main/scala/org/apache/kyuubi/ha/client/zookeeper/ZookeeperACLProvider.scala b/kyuubi-ha/src/main/scala/org/apache/kyuubi/ha/client/zookeeper/ZookeeperACLProvider.scala
index 467c323b7..87ea65c17 100644
--- a/kyuubi-ha/src/main/scala/org/apache/kyuubi/ha/client/zookeeper/ZookeeperACLProvider.scala
+++ b/kyuubi-ha/src/main/scala/org/apache/kyuubi/ha/client/zookeeper/ZookeeperACLProvider.scala
@@ -17,13 +17,12 @@
package org.apache.kyuubi.ha.client.zookeeper
-import org.apache.curator.framework.api.ACLProvider
-import org.apache.zookeeper.ZooDefs
-import org.apache.zookeeper.data.ACL
-
import org.apache.kyuubi.config.KyuubiConf
import org.apache.kyuubi.ha.HighAvailabilityConf
import org.apache.kyuubi.ha.client.AuthTypes
+import org.apache.kyuubi.shaded.curator.framework.api.ACLProvider
+import org.apache.kyuubi.shaded.zookeeper.ZooDefs
+import org.apache.kyuubi.shaded.zookeeper.data.ACL
class ZookeeperACLProvider(conf: KyuubiConf) extends ACLProvider {
diff --git a/kyuubi-ha/src/main/scala/org/apache/kyuubi/ha/client/zookeeper/ZookeeperClientProvider.scala b/kyuubi-ha/src/main/scala/org/apache/kyuubi/ha/client/zookeeper/ZookeeperClientProvider.scala
index 806aff95f..d9161f3cd 100644
--- a/kyuubi-ha/src/main/scala/org/apache/kyuubi/ha/client/zookeeper/ZookeeperClientProvider.scala
+++ b/kyuubi-ha/src/main/scala/org/apache/kyuubi/ha/client/zookeeper/ZookeeperClientProvider.scala
@@ -24,8 +24,6 @@ import javax.security.auth.login.Configuration
import scala.util.Random
import com.google.common.annotations.VisibleForTesting
-import org.apache.curator.framework.{CuratorFramework, CuratorFrameworkFactory}
-import org.apache.curator.retry._
import org.apache.hadoop.security.UserGroupInformation
import org.apache.kyuubi.Logging
@@ -34,6 +32,8 @@ import org.apache.kyuubi.ha.HighAvailabilityConf._
import org.apache.kyuubi.ha.client.{AuthTypes, RetryPolicies}
import org.apache.kyuubi.ha.client.RetryPolicies._
import org.apache.kyuubi.reflection.DynConstructors
+import org.apache.kyuubi.shaded.curator.framework.{CuratorFramework, CuratorFrameworkFactory}
+import org.apache.kyuubi.shaded.curator.retry._
import org.apache.kyuubi.util.KyuubiHadoopUtils
object ZookeeperClientProvider extends Logging {
diff --git a/kyuubi-ha/src/main/scala/org/apache/kyuubi/ha/client/zookeeper/ZookeeperDiscoveryClient.scala b/kyuubi-ha/src/main/scala/org/apache/kyuubi/ha/client/zookeeper/ZookeeperDiscoveryClient.scala
index daa27047e..33aa5149d 100644
--- a/kyuubi-ha/src/main/scala/org/apache/kyuubi/ha/client/zookeeper/ZookeeperDiscoveryClient.scala
+++ b/kyuubi-ha/src/main/scala/org/apache/kyuubi/ha/client/zookeeper/ZookeeperDiscoveryClient.scala
@@ -25,23 +25,6 @@ import java.util.concurrent.atomic.AtomicBoolean
import scala.collection.JavaConverters._
import com.google.common.annotations.VisibleForTesting
-import org.apache.curator.framework.CuratorFramework
-import org.apache.curator.framework.recipes.atomic.{AtomicValue, DistributedAtomicInteger}
-import org.apache.curator.framework.recipes.locks.InterProcessSemaphoreMutex
-import org.apache.curator.framework.recipes.nodes.PersistentNode
-import org.apache.curator.framework.state.ConnectionState
-import org.apache.curator.framework.state.ConnectionState.CONNECTED
-import org.apache.curator.framework.state.ConnectionState.LOST
-import org.apache.curator.framework.state.ConnectionState.RECONNECTED
-import org.apache.curator.framework.state.ConnectionStateListener
-import org.apache.curator.retry.RetryForever
-import org.apache.curator.utils.ZKPaths
-import org.apache.zookeeper.CreateMode
-import org.apache.zookeeper.CreateMode.PERSISTENT
-import org.apache.zookeeper.KeeperException
-import org.apache.zookeeper.KeeperException.NodeExistsException
-import org.apache.zookeeper.WatchedEvent
-import org.apache.zookeeper.Watcher
import org.apache.kyuubi.KYUUBI_VERSION
import org.apache.kyuubi.KyuubiException
@@ -58,6 +41,23 @@ import org.apache.kyuubi.ha.client.ServiceNodeInfo
import org.apache.kyuubi.ha.client.zookeeper.ZookeeperClientProvider.buildZookeeperClient
import org.apache.kyuubi.ha.client.zookeeper.ZookeeperClientProvider.getGracefulStopThreadDelay
import org.apache.kyuubi.ha.client.zookeeper.ZookeeperDiscoveryClient.connectionChecker
+import org.apache.kyuubi.shaded.curator.framework.CuratorFramework
+import org.apache.kyuubi.shaded.curator.framework.recipes.atomic.{AtomicValue, DistributedAtomicInteger}
+import org.apache.kyuubi.shaded.curator.framework.recipes.locks.InterProcessSemaphoreMutex
+import org.apache.kyuubi.shaded.curator.framework.recipes.nodes.PersistentNode
+import org.apache.kyuubi.shaded.curator.framework.state.ConnectionState
+import org.apache.kyuubi.shaded.curator.framework.state.ConnectionState.CONNECTED
+import org.apache.kyuubi.shaded.curator.framework.state.ConnectionState.LOST
+import org.apache.kyuubi.shaded.curator.framework.state.ConnectionState.RECONNECTED
+import org.apache.kyuubi.shaded.curator.framework.state.ConnectionStateListener
+import org.apache.kyuubi.shaded.curator.retry.RetryForever
+import org.apache.kyuubi.shaded.curator.utils.ZKPaths
+import org.apache.kyuubi.shaded.zookeeper.CreateMode
+import org.apache.kyuubi.shaded.zookeeper.CreateMode.PERSISTENT
+import org.apache.kyuubi.shaded.zookeeper.KeeperException
+import org.apache.kyuubi.shaded.zookeeper.KeeperException.NodeExistsException
+import org.apache.kyuubi.shaded.zookeeper.WatchedEvent
+import org.apache.kyuubi.shaded.zookeeper.Watcher
import org.apache.kyuubi.util.ThreadUtils
class ZookeeperDiscoveryClient(conf: KyuubiConf) extends DiscoveryClient {
diff --git a/kyuubi-ha/src/test/scala/org/apache/kyuubi/ha/client/zookeeper/ZookeeperDiscoveryClientSuite.scala b/kyuubi-ha/src/test/scala/org/apache/kyuubi/ha/client/zookeeper/ZookeeperDiscoveryClientSuite.scala
index e3f5546a9..de849f83e 100644
--- a/kyuubi-ha/src/test/scala/org/apache/kyuubi/ha/client/zookeeper/ZookeeperDiscoveryClientSuite.scala
+++ b/kyuubi-ha/src/test/scala/org/apache/kyuubi/ha/client/zookeeper/ZookeeperDiscoveryClientSuite.scala
@@ -25,11 +25,7 @@ import javax.security.auth.login.Configuration
import scala.collection.JavaConverters._
-import org.apache.curator.framework.CuratorFrameworkFactory
-import org.apache.curator.retry.ExponentialBackoffRetry
import org.apache.hadoop.util.StringUtils
-import org.apache.zookeeper.ZooDefs
-import org.apache.zookeeper.data.ACL
import org.scalatest.time.SpanSugar._
import org.apache.kyuubi.{KerberizedTestHelper, KYUUBI_VERSION}
@@ -39,6 +35,10 @@ import org.apache.kyuubi.ha.client._
import org.apache.kyuubi.ha.client.DiscoveryClientProvider.withDiscoveryClient
import org.apache.kyuubi.ha.client.zookeeper.ZookeeperClientProvider._
import org.apache.kyuubi.service._
+import org.apache.kyuubi.shaded.curator.framework.CuratorFrameworkFactory
+import org.apache.kyuubi.shaded.curator.retry.ExponentialBackoffRetry
+import org.apache.kyuubi.shaded.zookeeper.ZooDefs
+import org.apache.kyuubi.shaded.zookeeper.data.ACL
import org.apache.kyuubi.zookeeper.EmbeddedZookeeper
import org.apache.kyuubi.zookeeper.ZookeeperConf.ZK_CLIENT_PORT
diff --git a/kyuubi-hive-jdbc-shaded/pom.xml b/kyuubi-hive-jdbc-shaded/pom.xml
index 1a6f258b0..e0e390b75 100644
--- a/kyuubi-hive-jdbc-shaded/pom.xml
+++ b/kyuubi-hive-jdbc-shaded/pom.xml
@@ -108,10 +108,6 @@
org.apache.commons
${kyuubi.shade.packageName}.org.apache.commons
-
- org.apache.curator
- ${kyuubi.shade.packageName}.org.apache.curator
-
org.apache.hive
${kyuubi.shade.packageName}.org.apache.hive
@@ -120,18 +116,10 @@
org.apache.http
${kyuubi.shade.packageName}.org.apache.http
-
- org.apache.jute
- ${kyuubi.shade.packageName}.org.apache.jute
-
org.apache.thrift
${kyuubi.shade.packageName}.org.apache.thrift
-
- org.apache.zookeeper
- ${kyuubi.shade.packageName}.org.apache.zookeeper
-
diff --git a/kyuubi-hive-jdbc/pom.xml b/kyuubi-hive-jdbc/pom.xml
index 36ea7acc2..d6889e365 100644
--- a/kyuubi-hive-jdbc/pom.xml
+++ b/kyuubi-hive-jdbc/pom.xml
@@ -102,24 +102,14 @@
provided
-
- org.apache.curator
- curator-framework
-
-
-
- org.apache.curator
- curator-client
-
-
org.apache.httpcomponents
httpclient
- org.apache.zookeeper
- zookeeper
+ org.apache.kyuubi
+ ${kyuubi-shaded-zookeeper.artifacts}
diff --git a/kyuubi-hive-jdbc/src/main/java/org/apache/kyuubi/jdbc/hive/ZooKeeperHiveClientHelper.java b/kyuubi-hive-jdbc/src/main/java/org/apache/kyuubi/jdbc/hive/ZooKeeperHiveClientHelper.java
index 41fadfa2f..bfa5e632e 100644
--- a/kyuubi-hive-jdbc/src/main/java/org/apache/kyuubi/jdbc/hive/ZooKeeperHiveClientHelper.java
+++ b/kyuubi-hive-jdbc/src/main/java/org/apache/kyuubi/jdbc/hive/ZooKeeperHiveClientHelper.java
@@ -25,9 +25,9 @@ import java.util.Map;
import java.util.Random;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.apache.curator.framework.CuratorFramework;
-import org.apache.curator.framework.CuratorFrameworkFactory;
-import org.apache.curator.retry.ExponentialBackoffRetry;
+import org.apache.kyuubi.shaded.curator.framework.CuratorFramework;
+import org.apache.kyuubi.shaded.curator.framework.CuratorFrameworkFactory;
+import org.apache.kyuubi.shaded.curator.retry.ExponentialBackoffRetry;
class ZooKeeperHiveClientHelper {
// Pattern for key1=value1;key2=value2
diff --git a/kyuubi-server/src/main/scala/org/apache/kyuubi/server/api/v1/AdminResource.scala b/kyuubi-server/src/main/scala/org/apache/kyuubi/server/api/v1/AdminResource.scala
index cf8478021..fc271b058 100644
--- a/kyuubi-server/src/main/scala/org/apache/kyuubi/server/api/v1/AdminResource.scala
+++ b/kyuubi-server/src/main/scala/org/apache/kyuubi/server/api/v1/AdminResource.scala
@@ -28,7 +28,6 @@ import io.swagger.v3.oas.annotations.media.{ArraySchema, Content, Schema}
import io.swagger.v3.oas.annotations.responses.ApiResponse
import io.swagger.v3.oas.annotations.tags.Tag
import org.apache.commons.lang3.StringUtils
-import org.apache.zookeeper.KeeperException.NoNodeException
import org.apache.kyuubi.{KYUUBI_VERSION, Logging, Utils}
import org.apache.kyuubi.client.api.v1.dto.{Engine, OperationData, ServerData, SessionData}
@@ -41,6 +40,7 @@ import org.apache.kyuubi.operation.{KyuubiOperation, OperationHandle}
import org.apache.kyuubi.server.KyuubiServer
import org.apache.kyuubi.server.api.{ApiRequestContext, ApiUtils}
import org.apache.kyuubi.session.{KyuubiSession, SessionHandle}
+import org.apache.kyuubi.shaded.zookeeper.KeeperException.NoNodeException
@Tag(name = "Admin")
@Produces(Array(MediaType.APPLICATION_JSON))
diff --git a/kyuubi-zookeeper/pom.xml b/kyuubi-zookeeper/pom.xml
index cd3e017cd..e10ac2d9d 100644
--- a/kyuubi-zookeeper/pom.xml
+++ b/kyuubi-zookeeper/pom.xml
@@ -37,8 +37,8 @@
- org.apache.zookeeper
- zookeeper
+ org.apache.kyuubi
+ ${kyuubi-shaded-zookeeper.artifacts}
@@ -48,24 +48,6 @@
test-jar
test
-
-
- org.apache.curator
- curator-framework
- test
-
-
-
- org.apache.curator
- curator-client
- test
-
-
-
- com.google.guava
- guava
- test
-
diff --git a/kyuubi-zookeeper/src/main/scala/org/apache/kyuubi/zookeeper/EmbeddedZookeeper.scala b/kyuubi-zookeeper/src/main/scala/org/apache/kyuubi/zookeeper/EmbeddedZookeeper.scala
index 0e980132a..04457f3ce 100644
--- a/kyuubi-zookeeper/src/main/scala/org/apache/kyuubi/zookeeper/EmbeddedZookeeper.scala
+++ b/kyuubi-zookeeper/src/main/scala/org/apache/kyuubi/zookeeper/EmbeddedZookeeper.scala
@@ -20,11 +20,10 @@ package org.apache.kyuubi.zookeeper
import java.io.File
import java.net.InetSocketAddress
-import org.apache.zookeeper.server.{NIOServerCnxnFactory, ZooKeeperServer}
-
import org.apache.kyuubi.Utils._
import org.apache.kyuubi.config.KyuubiConf
import org.apache.kyuubi.service.{AbstractService, ServiceState}
+import org.apache.kyuubi.shaded.zookeeper.server.{NIOServerCnxnFactory, ZooKeeperServer}
import org.apache.kyuubi.zookeeper.ZookeeperConf._
class EmbeddedZookeeper extends AbstractService("EmbeddedZookeeper") {
diff --git a/kyuubi-zookeeper/src/test/scala/org/apache/kyuubi/zookeeper/EmbeddedZookeeperSuite.scala b/kyuubi-zookeeper/src/test/scala/org/apache/kyuubi/zookeeper/EmbeddedZookeeperSuite.scala
index 518aa48b9..69e798ac5 100644
--- a/kyuubi-zookeeper/src/test/scala/org/apache/kyuubi/zookeeper/EmbeddedZookeeperSuite.scala
+++ b/kyuubi-zookeeper/src/test/scala/org/apache/kyuubi/zookeeper/EmbeddedZookeeperSuite.scala
@@ -17,12 +17,11 @@
package org.apache.kyuubi.zookeeper
-import org.apache.curator.framework.CuratorFrameworkFactory
-import org.apache.curator.framework.imps.CuratorFrameworkState
-import org.apache.curator.retry.ExponentialBackoffRetry
-
import org.apache.kyuubi.KyuubiFunSuite
import org.apache.kyuubi.config.KyuubiConf
+import org.apache.kyuubi.shaded.curator.framework.CuratorFrameworkFactory
+import org.apache.kyuubi.shaded.curator.framework.imps.CuratorFrameworkState
+import org.apache.kyuubi.shaded.curator.retry.ExponentialBackoffRetry
import org.apache.kyuubi.zookeeper.ZookeeperConf.{ZK_CLIENT_PORT, ZK_CLIENT_PORT_ADDRESS}
class EmbeddedZookeeperSuite extends KyuubiFunSuite {
diff --git a/pom.xml b/pom.xml
index 62866fe57..7996fa7a9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -129,7 +129,6 @@
2.11.0
2.6
3.12.0
- 2.12.0
0.7.3
2.3.0
2.4.4
@@ -168,6 +167,8 @@
3.4.0
6.4.1
1.15.0
+ kyuubi-shaded-zookeeper-34
+ 0.1.0
6.0.5
2.20.0
8.0.32
@@ -203,7 +204,6 @@
363
1.4
1.1
- 3.4.14
true
@@ -260,6 +260,11 @@
+
+ org.apache.kyuubi
+ ${kyuubi-shaded-zookeeper.artifacts}
+ ${kyuubi-shaded-zookeeper.version}
+
org.antlr
antlr4-runtime
@@ -609,54 +614,6 @@
-
-
-
- org.apache.curator
- curator-framework
- ${curator.version}
-
-
- org.apache.zookeeper
- zookeeper
-
-
-
-
-
- org.apache.curator
- curator-recipes
- ${curator.version}
-
-
- org.apache.zookeeper
- zookeeper
-
-
-
-
-
- org.apache.curator
- curator-client
- ${curator.version}
-
-
- com.google.guava
- guava
-
-
- org.apache.zookeeper
- zookeeper
-
-
-
-
org.slf4j
slf4j-api
@@ -1116,18 +1073,6 @@
-
- org.apache.zookeeper
- zookeeper
- ${zookeeper.version}
-
-
- *
- *
-
-
-
-
io.etcd
jetcd-core
@@ -2232,6 +2177,13 @@
+
+ zookeeper-3.6
+
+ kyuubi-shaded-zookeeper-36
+
+
+
spark-provided
diff --git a/scalastyle-config.xml b/scalastyle-config.xml
index f7d0d2449..5eaa9cef5 100644
--- a/scalastyle-config.xml
+++ b/scalastyle-config.xml
@@ -195,6 +195,14 @@ This file is divided into 3 sections:
of Commons Lang 2 (package org.apache.commons.lang.*)
+
+
+ org\.apache\.curator\.
+ org\.apache\.zookeeper\.
+
+ Use Kyuubi shaded classes (package org.apache.kyuubi.shaded.*) instead classes
+
+
extractOpt
Use Utils.jsonOption(x).map(.extract[T]) instead of .extractOpt[T], as the latter