diff --git a/dev/dependencyList b/dev/dependencyList
index 88e3e3c9f40..4143b511ace 100644
--- a/dev/dependencyList
+++ b/dev/dependencyList
@@ -105,7 +105,7 @@ jetty-server/9.4.52.v20230823//jetty-server-9.4.52.v20230823.jar
jetty-servlet/9.4.52.v20230823//jetty-servlet-9.4.52.v20230823.jar
jetty-util-ajax/9.4.52.v20230823//jetty-util-ajax-9.4.52.v20230823.jar
jetty-util/9.4.52.v20230823//jetty-util-9.4.52.v20230823.jar
-jline/0.9.94//jline-0.9.94.jar
+jline/2.14.6//jline-2.14.6.jar
jul-to-slf4j/1.7.36//jul-to-slf4j-1.7.36.jar
kafka-clients/3.5.1//kafka-clients-3.5.1.jar
kubernetes-client-api/6.8.1//kubernetes-client-api-6.8.1.jar
diff --git a/docs/configuration/settings.md b/docs/configuration/settings.md
index a5af4e18010..66b551166c0 100644
--- a/docs/configuration/settings.md
+++ b/docs/configuration/settings.md
@@ -230,11 +230,9 @@ You can configure the Kyuubi properties in `$KYUUBI_HOME/conf/kyuubi-defaults.co
| Key | Default | Meaning | Type | Since |
|--------------------------------------------------------|--------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|-------|
| kyuubi.frontend.advertised.host | <undefined> | Hostname or IP of the Kyuubi server's frontend services to publish to external systems such as the service discovery ensemble and metadata store. Use it when you want to advertise a different hostname or IP than the bind host. | string | 1.8.0 |
-| kyuubi.frontend.backoff.slot.length | PT0.1S | (deprecated) Time to back off during login to the thrift frontend service. | duration | 1.0.0 |
| kyuubi.frontend.bind.host | <undefined> | Hostname or IP of the machine on which to run the frontend services. | string | 1.0.0 |
| kyuubi.frontend.bind.port | 10009 | (deprecated) Port of the machine on which to run the thrift frontend service via the binary protocol. | int | 1.0.0 |
| kyuubi.frontend.connection.url.use.hostname | true | When true, frontend services prefer hostname, otherwise, ip address. Note that, the default value is set to `false` when engine running on Kubernetes to prevent potential network issues. | boolean | 1.5.0 |
-| kyuubi.frontend.login.timeout | PT20S | (deprecated) Timeout for Thrift clients during login to the thrift frontend service. | duration | 1.0.0 |
| kyuubi.frontend.max.message.size | 104857600 | (deprecated) Maximum message size in bytes a Kyuubi server will accept. | int | 1.0.0 |
| kyuubi.frontend.max.worker.threads | 999 | (deprecated) Maximum number of threads in the frontend worker thread pool for the thrift frontend service | int | 1.0.0 |
| kyuubi.frontend.min.worker.threads | 9 | (deprecated) Minimum number of threads in the frontend worker thread pool for the thrift frontend service | int | 1.0.0 |
@@ -254,7 +252,6 @@ You can configure the Kyuubi properties in `$KYUUBI_HOME/conf/kyuubi-defaults.co
| kyuubi.frontend.ssl.keystore.password | <undefined> | SSL certificate keystore password. | string | 1.7.0 |
| kyuubi.frontend.ssl.keystore.path | <undefined> | SSL certificate keystore location. | string | 1.7.0 |
| kyuubi.frontend.ssl.keystore.type | <undefined> | SSL certificate keystore type. | string | 1.7.0 |
-| kyuubi.frontend.thrift.backoff.slot.length | PT0.1S | Time to back off during login to the thrift frontend service. | duration | 1.4.0 |
| kyuubi.frontend.thrift.binary.bind.host | <undefined> | Hostname or IP of the machine on which to run the thrift frontend service via the binary protocol. | string | 1.4.0 |
| kyuubi.frontend.thrift.binary.bind.port | 10009 | Port of the machine on which to run the thrift frontend service via the binary protocol. | int | 1.4.0 |
| kyuubi.frontend.thrift.binary.ssl.disallowed.protocols | SSLv2,SSLv3 | SSL versions to disallow for Kyuubi thrift binary frontend. | set | 1.7.0 |
@@ -278,7 +275,6 @@ You can configure the Kyuubi properties in `$KYUUBI_HOME/conf/kyuubi-defaults.co
| kyuubi.frontend.thrift.http.ssl.protocol.blacklist | SSLv2,SSLv3 | SSL Versions to disable when using HTTP transport mode. | seq | 1.6.0 |
| kyuubi.frontend.thrift.http.use.SSL | false | Set this to true for using SSL encryption in http mode. | boolean | 1.6.0 |
| kyuubi.frontend.thrift.http.xsrf.filter.enabled | false | If enabled, Kyuubi will block any requests made to it over HTTP if an X-XSRF-HEADER header is not present | boolean | 1.6.0 |
-| kyuubi.frontend.thrift.login.timeout | PT20S | Timeout for Thrift clients during login to the thrift frontend service. | duration | 1.4.0 |
| kyuubi.frontend.thrift.max.message.size | 104857600 | Maximum message size in bytes a Kyuubi server will accept. | int | 1.4.0 |
| kyuubi.frontend.thrift.max.worker.threads | 999 | Maximum number of threads in the frontend worker thread pool for the thrift frontend service | int | 1.4.0 |
| kyuubi.frontend.thrift.min.worker.threads | 9 | Minimum number of threads in the frontend worker thread pool for the thrift frontend service | int | 1.4.0 |
diff --git a/docs/deployment/migration-guide.md b/docs/deployment/migration-guide.md
index 3b3541b7ea2..cbd74ee440e 100644
--- a/docs/deployment/migration-guide.md
+++ b/docs/deployment/migration-guide.md
@@ -23,6 +23,7 @@
* Since Kyuubi 1.9.0, the support of Derby is removal for Kyuubi metastore.
* Since Kyuubi 1.9.0, the support of Spark SQL engine for Spark 3.1 is deprecated, and will be removed in the future.
* Since Kyuubi 1.9.0, the support of Spark extensions for Spark 3.1 is removed, please use Spark 3.2 or higher versions.
+* Since Kyuubi 1.9.0, `kyuubi.frontend.login.timeout`, `kyuubi.frontend.thrift.login.timeout`, `kyuubi.frontend.backoff.slot.length`, `kyuubi.frontend.thrift.backoff.slot.length` are removed.
## Upgrading from Kyuubi 1.8.0 to 1.8.1
diff --git a/kyuubi-common/pom.xml b/kyuubi-common/pom.xml
index 63ac03ed7a0..c36eb2f4673 100644
--- a/kyuubi-common/pom.xml
+++ b/kyuubi-common/pom.xml
@@ -98,6 +98,11 @@
commons-lang3
+
+ org.apache.kyuubi
+ kyuubi-relocated-thrift
+
+
org.apache.kyuubi
kyuubi-relocated-hive-service-rpc
diff --git a/kyuubi-common/src/main/scala/org/apache/kyuubi/config/KyuubiConf.scala b/kyuubi-common/src/main/scala/org/apache/kyuubi/config/KyuubiConf.scala
index 5346d19a20b..6baca63e578 100644
--- a/kyuubi-common/src/main/scala/org/apache/kyuubi/config/KyuubiConf.scala
+++ b/kyuubi-common/src/main/scala/org/apache/kyuubi/config/KyuubiConf.scala
@@ -605,34 +605,6 @@ object KyuubiConf {
.version("1.4.0")
.fallbackConf(FRONTEND_MAX_MESSAGE_SIZE)
- @deprecated("using kyuubi.frontend.thrift.login.timeout instead", "1.4.0")
- val FRONTEND_LOGIN_TIMEOUT: ConfigEntry[Long] =
- buildConf("kyuubi.frontend.login.timeout")
- .doc("(deprecated) Timeout for Thrift clients during login to the thrift frontend service.")
- .version("1.0.0")
- .timeConf
- .createWithDefault(Duration.ofSeconds(20).toMillis)
-
- val FRONTEND_THRIFT_LOGIN_TIMEOUT: ConfigEntry[Long] =
- buildConf("kyuubi.frontend.thrift.login.timeout")
- .doc("Timeout for Thrift clients during login to the thrift frontend service.")
- .version("1.4.0")
- .fallbackConf(FRONTEND_LOGIN_TIMEOUT)
-
- @deprecated("using kyuubi.frontend.thrift.backoff.slot.length instead", "1.4.0")
- val FRONTEND_LOGIN_BACKOFF_SLOT_LENGTH: ConfigEntry[Long] =
- buildConf("kyuubi.frontend.backoff.slot.length")
- .doc("(deprecated) Time to back off during login to the thrift frontend service.")
- .version("1.0.0")
- .timeConf
- .createWithDefault(Duration.ofMillis(100).toMillis)
-
- val FRONTEND_THRIFT_LOGIN_BACKOFF_SLOT_LENGTH: ConfigEntry[Long] =
- buildConf("kyuubi.frontend.thrift.backoff.slot.length")
- .doc("Time to back off during login to the thrift frontend service.")
- .version("1.4.0")
- .fallbackConf(FRONTEND_LOGIN_BACKOFF_SLOT_LENGTH)
-
val FRONTEND_THRIFT_HTTP_REQUEST_HEADER_SIZE: ConfigEntry[Int] =
buildConf("kyuubi.frontend.thrift.http.request.header.size")
.doc("Request header size in bytes, when using HTTP transport mode. Jetty defaults used.")
@@ -3144,14 +3116,6 @@ object KyuubiConf {
FRONTEND_MAX_MESSAGE_SIZE.key,
"1.4.0",
s"Use ${FRONTEND_THRIFT_MAX_MESSAGE_SIZE.key} instead"),
- DeprecatedConfig(
- FRONTEND_LOGIN_TIMEOUT.key,
- "1.4.0",
- s"Use ${FRONTEND_THRIFT_LOGIN_TIMEOUT.key} instead"),
- DeprecatedConfig(
- FRONTEND_LOGIN_BACKOFF_SLOT_LENGTH.key,
- "1.4.0",
- s"Use ${FRONTEND_THRIFT_LOGIN_BACKOFF_SLOT_LENGTH.key} instead"),
DeprecatedConfig(
SESSION_TIMEOUT.key,
"1.2.0",
diff --git a/kyuubi-common/src/main/scala/org/apache/kyuubi/service/TBinaryFrontendService.scala b/kyuubi-common/src/main/scala/org/apache/kyuubi/service/TBinaryFrontendService.scala
index 19e2e31eafe..92b3a8a8107 100644
--- a/kyuubi-common/src/main/scala/org/apache/kyuubi/service/TBinaryFrontendService.scala
+++ b/kyuubi-common/src/main/scala/org/apache/kyuubi/service/TBinaryFrontendService.scala
@@ -101,17 +101,13 @@ abstract class TBinaryFrontendService(name: String)
}
_actualPort = tServerSocket.getServerSocket.getLocalPort
val maxMessageSize = conf.get(FRONTEND_THRIFT_MAX_MESSAGE_SIZE)
- val requestTimeout = conf.get(FRONTEND_THRIFT_LOGIN_TIMEOUT).toInt
- val beBackoffSlotLength = conf.get(FRONTEND_THRIFT_LOGIN_BACKOFF_SLOT_LENGTH).toInt
val args = new TThreadPoolServer.Args(tServerSocket)
.processorFactory(tProcFactory)
.transportFactory(transFactory)
.protocolFactory(new TBinaryProtocol.Factory)
.inputProtocolFactory(
new TBinaryProtocol.Factory(true, true, maxMessageSize, maxMessageSize))
- .requestTimeout(requestTimeout).requestTimeoutUnit(TimeUnit.MILLISECONDS)
- .beBackoffSlotLength(beBackoffSlotLength)
- .beBackoffSlotLengthUnit(TimeUnit.MILLISECONDS)
+ // THRIFT-5297 (fixed in 0.14.0) removes requestTimeout and beBackoffSlotLength
.executorService(executor)
// TCP Server
server = Some(new TThreadPoolServer(args))
diff --git a/kyuubi-common/src/main/scala/org/apache/kyuubi/service/TFrontendService.scala b/kyuubi-common/src/main/scala/org/apache/kyuubi/service/TFrontendService.scala
index 9aefe63c8b6..32e004505e8 100644
--- a/kyuubi-common/src/main/scala/org/apache/kyuubi/service/TFrontendService.scala
+++ b/kyuubi-common/src/main/scala/org/apache/kyuubi/service/TFrontendService.scala
@@ -649,5 +649,9 @@ private[kyuubi] object TFrontendService {
}
def getSessionHandle: SessionHandle = sessionHandle
+
+ override def unwrap[T](aClass: Class[T]): T = null.asInstanceOf[T]
+
+ override def isWrapperFor(aClass: Class[_]): Boolean = false
}
}
diff --git a/kyuubi-common/src/main/scala/org/apache/kyuubi/service/authentication/HadoopThriftAuthBridgeServer.scala b/kyuubi-common/src/main/scala/org/apache/kyuubi/service/authentication/HadoopThriftAuthBridgeServer.scala
index 6c1dfa5daee..845767c8848 100644
--- a/kyuubi-common/src/main/scala/org/apache/kyuubi/service/authentication/HadoopThriftAuthBridgeServer.scala
+++ b/kyuubi-common/src/main/scala/org/apache/kyuubi/service/authentication/HadoopThriftAuthBridgeServer.scala
@@ -131,7 +131,7 @@ object HadoopThriftAuthBridgeServer {
class TUGIAssumingProcessor(
wrapped: TProcessor,
secretMgr: KyuubiDelegationTokenManager) extends TProcessor with Logging {
- override def process(in: TProtocol, out: TProtocol): Boolean = {
+ override def process(in: TProtocol, out: TProtocol): Unit = {
val transport = in.getTransport
transport match {
case saslTrans: TSaslServerTransport =>
diff --git a/kyuubi-common/src/main/scala/org/apache/kyuubi/service/authentication/TSetIpAddressProcessor.scala b/kyuubi-common/src/main/scala/org/apache/kyuubi/service/authentication/TSetIpAddressProcessor.scala
index 6a890593642..3c632b8bf41 100644
--- a/kyuubi-common/src/main/scala/org/apache/kyuubi/service/authentication/TSetIpAddressProcessor.scala
+++ b/kyuubi-common/src/main/scala/org/apache/kyuubi/service/authentication/TSetIpAddressProcessor.scala
@@ -28,7 +28,7 @@ class TSetIpAddressProcessor[I <: Iface](
import TSetIpAddressProcessor._
@throws[TException]
- override def process(in: TProtocol, out: TProtocol): Boolean = {
+ override def process(in: TProtocol, out: TProtocol): Unit = {
setIpAddress(in)
setUserName(in)
try {
diff --git a/kyuubi-hive-beeline/pom.xml b/kyuubi-hive-beeline/pom.xml
index 1068a81ce18..77337adcdba 100644
--- a/kyuubi-hive-beeline/pom.xml
+++ b/kyuubi-hive-beeline/pom.xml
@@ -135,13 +135,6 @@
jline
jline
- ${hive.client.jline.version}
-
-
- *
- *
-
-
diff --git a/kyuubi-hive-jdbc/pom.xml b/kyuubi-hive-jdbc/pom.xml
index 1ec5e597fa0..2bc7f690b45 100644
--- a/kyuubi-hive-jdbc/pom.xml
+++ b/kyuubi-hive-jdbc/pom.xml
@@ -97,6 +97,11 @@
httpclient
+
+ org.apache.kyuubi
+ kyuubi-relocated-thrift
+
+
org.apache.kyuubi
kyuubi-relocated-hive-service-rpc
diff --git a/kyuubi-hive-jdbc/src/main/java/org/apache/kyuubi/jdbc/hive/auth/KerberosSaslHelper.java b/kyuubi-hive-jdbc/src/main/java/org/apache/kyuubi/jdbc/hive/auth/KerberosSaslHelper.java
index e3fb6729365..bd0dfcdf831 100644
--- a/kyuubi-hive-jdbc/src/main/java/org/apache/kyuubi/jdbc/hive/auth/KerberosSaslHelper.java
+++ b/kyuubi-hive-jdbc/src/main/java/org/apache/kyuubi/jdbc/hive/auth/KerberosSaslHelper.java
@@ -22,6 +22,7 @@
import javax.security.sasl.SaslException;
import org.apache.kyuubi.shaded.thrift.transport.TSaslClientTransport;
import org.apache.kyuubi.shaded.thrift.transport.TTransport;
+import org.apache.kyuubi.shaded.thrift.transport.TTransportException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -34,7 +35,7 @@ public static TTransport createSubjectAssumedTransport(
String host,
TTransport underlyingTransport,
Map saslProps)
- throws SaslException {
+ throws SaslException, TTransportException {
String resolvedPrincipal = KerberosUtils.canonicalPrincipal(serverPrincipal, host);
String[] names = KerberosUtils.splitPrincipal(resolvedPrincipal);
TTransport saslTransport =
diff --git a/kyuubi-hive-jdbc/src/main/java/org/apache/kyuubi/jdbc/hive/auth/PlainSaslHelper.java b/kyuubi-hive-jdbc/src/main/java/org/apache/kyuubi/jdbc/hive/auth/PlainSaslHelper.java
index 43272e48da5..95aae29fd62 100644
--- a/kyuubi-hive-jdbc/src/main/java/org/apache/kyuubi/jdbc/hive/auth/PlainSaslHelper.java
+++ b/kyuubi-hive-jdbc/src/main/java/org/apache/kyuubi/jdbc/hive/auth/PlainSaslHelper.java
@@ -22,11 +22,13 @@
import javax.security.sasl.SaslException;
import org.apache.kyuubi.shaded.thrift.transport.TSaslClientTransport;
import org.apache.kyuubi.shaded.thrift.transport.TTransport;
+import org.apache.kyuubi.shaded.thrift.transport.TTransportException;
public final class PlainSaslHelper {
public static TTransport getPlainTransport(
- String username, String password, TTransport underlyingTransport) throws SaslException {
+ String username, String password, TTransport underlyingTransport)
+ throws SaslException, TTransportException {
return new TSaslClientTransport(
"PLAIN",
null,
diff --git a/kyuubi-hive-jdbc/src/main/java/org/apache/kyuubi/jdbc/hive/auth/TFilterTransport.java b/kyuubi-hive-jdbc/src/main/java/org/apache/kyuubi/jdbc/hive/auth/TFilterTransport.java
index 6d462717b89..f3691e8cfb5 100644
--- a/kyuubi-hive-jdbc/src/main/java/org/apache/kyuubi/jdbc/hive/auth/TFilterTransport.java
+++ b/kyuubi-hive-jdbc/src/main/java/org/apache/kyuubi/jdbc/hive/auth/TFilterTransport.java
@@ -17,6 +17,7 @@
package org.apache.kyuubi.jdbc.hive.auth;
+import org.apache.kyuubi.shaded.thrift.TConfiguration;
import org.apache.kyuubi.shaded.thrift.transport.TTransport;
import org.apache.kyuubi.shaded.thrift.transport.TTransportException;
@@ -95,4 +96,19 @@ public int getBytesRemainingInBuffer() {
public void consumeBuffer(int len) {
wrapped.consumeBuffer(len);
}
+
+ @Override
+ public TConfiguration getConfiguration() {
+ return wrapped.getConfiguration();
+ }
+
+ @Override
+ public void updateKnownMessageSize(long l) throws TTransportException {
+ wrapped.updateKnownMessageSize(l);
+ }
+
+ @Override
+ public void checkReadBytesAvailable(long l) throws TTransportException {
+ wrapped.checkReadBytesAvailable(l);
+ }
}
diff --git a/kyuubi-hive-jdbc/src/main/java/org/apache/kyuubi/jdbc/hive/auth/ThriftUtils.java b/kyuubi-hive-jdbc/src/main/java/org/apache/kyuubi/jdbc/hive/auth/ThriftUtils.java
index b76401d50ce..7f0099b299d 100644
--- a/kyuubi-hive-jdbc/src/main/java/org/apache/kyuubi/jdbc/hive/auth/ThriftUtils.java
+++ b/kyuubi-hive-jdbc/src/main/java/org/apache/kyuubi/jdbc/hive/auth/ThriftUtils.java
@@ -19,6 +19,7 @@
import javax.net.ssl.SSLParameters;
import javax.net.ssl.SSLSocket;
+import org.apache.kyuubi.shaded.thrift.TConfiguration;
import org.apache.kyuubi.shaded.thrift.transport.TSSLTransportFactory;
import org.apache.kyuubi.shaded.thrift.transport.TSocket;
import org.apache.kyuubi.shaded.thrift.transport.TTransport;
@@ -30,8 +31,8 @@
*/
public class ThriftUtils {
public static TTransport getSocketTransport(
- String host, int port, int connectTimeout, int socketTimeout) {
- return new TSocket(host, port, socketTimeout, connectTimeout);
+ String host, int port, int connectTimeout, int socketTimeout) throws TTransportException {
+ return new TSocket(TConfiguration.DEFAULT, host, port, socketTimeout, connectTimeout);
}
public static TTransport getSSLSocket(
diff --git a/kyuubi-server/src/main/scala/org/apache/kyuubi/client/KyuubiSyncThriftClient.scala b/kyuubi-server/src/main/scala/org/apache/kyuubi/client/KyuubiSyncThriftClient.scala
index d24387341e6..755e55d6d3f 100644
--- a/kyuubi-server/src/main/scala/org/apache/kyuubi/client/KyuubiSyncThriftClient.scala
+++ b/kyuubi-server/src/main/scala/org/apache/kyuubi/client/KyuubiSyncThriftClient.scala
@@ -36,6 +36,7 @@ import org.apache.kyuubi.operation.FetchOrientation.FetchOrientation
import org.apache.kyuubi.service.authentication.PlainSASLHelper
import org.apache.kyuubi.session.SessionHandle
import org.apache.kyuubi.shaded.hive.service.rpc.thrift._
+import org.apache.kyuubi.shaded.thrift.TConfiguration
import org.apache.kyuubi.shaded.thrift.protocol.{TBinaryProtocol, TProtocol}
import org.apache.kyuubi.shaded.thrift.transport.TSocket
import org.apache.kyuubi.util.{ThreadUtils, ThriftUtils}
@@ -457,7 +458,7 @@ private[kyuubi] object KyuubiSyncThriftClient extends Logging {
port: Int,
socketTimeout: Int,
connectionTimeout: Int): TProtocol = {
- val tSocket = new TSocket(host, port, socketTimeout, connectionTimeout)
+ val tSocket = new TSocket(TConfiguration.DEFAULT, host, port, socketTimeout, connectionTimeout)
val tTransport = PlainSASLHelper.getPlainTransport(user, passwd, tSocket)
tTransport.open()
new TBinaryProtocol(tTransport)
diff --git a/kyuubi-server/src/test/scala/org/apache/kyuubi/operation/KyuubiOperationPerConnectionSuite.scala b/kyuubi-server/src/test/scala/org/apache/kyuubi/operation/KyuubiOperationPerConnectionSuite.scala
index 1324c70d775..859ccac984c 100644
--- a/kyuubi-server/src/test/scala/org/apache/kyuubi/operation/KyuubiOperationPerConnectionSuite.scala
+++ b/kyuubi-server/src/test/scala/org/apache/kyuubi/operation/KyuubiOperationPerConnectionSuite.scala
@@ -80,7 +80,9 @@ class KyuubiOperationPerConnectionSuite extends WithKyuubiServer with HiveJDBCTe
assert(executeStmtResp.getOperationHandle === null)
val errMsg = executeStmtResp.getStatus.getErrorMessage
assert(errMsg.contains("Caused by: java.net.SocketException: Connection reset") ||
- errMsg.contains(s"Socket for ${SessionHandle(handle)} is closed"))
+ errMsg.contains(s"Socket for ${SessionHandle(handle)} is closed") ||
+ errMsg.contains("Socket is closed by peer") ||
+ errMsg.contains("SparkContext was shut down"))
}
}
@@ -332,9 +334,10 @@ class KyuubiOperationPerConnectionSuite extends WithKyuubiServer with HiveJDBCTe
assert(executeStmtResp.getStatus.getStatusCode === TStatusCode.ERROR_STATUS)
val errorMsg = executeStmtResp.getStatus.getErrorMessage
assert(errorMsg.contains("java.net.SocketException") ||
- errorMsg.contains("org.apache.thrift.transport.TTransportException") ||
+ errorMsg.contains("org.apache.kyuubi.shaded.thrift.transport.TTransportException") ||
errorMsg.contains("connection does not exist") ||
- errorMsg.contains(s"Socket for ${SessionHandle(handle)} is closed"))
+ errorMsg.contains(s"Socket for ${SessionHandle(handle)} is closed") ||
+ errorMsg.contains("Error submitting query in background, query rejected"))
val elapsedTime = System.currentTimeMillis() - startTime
assert(elapsedTime < 20 * 1000)
eventually(timeout(3.seconds)) {
diff --git a/pom.xml b/pom.xml
index b70d5310acb..8f3c0baaf20 100644
--- a/pom.xml
+++ b/pom.xml
@@ -169,11 +169,11 @@
2.39.1
0.7.7
9.4.52.v20230823
- 0.9.94
+ 2.14.6
4.13.2
3.5.1
6.8.1
- 0.2.0
+ 0.3.0
kyuubi-relocated-zookeeper-34
6.0.5
2.20.0
@@ -223,7 +223,6 @@
v8.6.1
- 2.12
2.2.0
kyuubi-hive-jdbc
@@ -279,6 +278,11 @@
+
+ org.apache.kyuubi
+ kyuubi-relocated-thrift
+ ${kyuubi-relocated.version}
+
org.apache.kyuubi
kyuubi-relocated-hive-service-rpc