diff --git a/dev/dependencyList b/dev/dependencyList index 4d6f84a9635..db0f49fcaa8 100644 --- a/dev/dependencyList +++ b/dev/dependencyList @@ -52,13 +52,13 @@ jakarta.ws.rs-api/2.1.6//jakarta.ws.rs-api-2.1.6.jar jakarta.xml.bind-api/2.3.2//jakarta.xml.bind-api-2.3.2.jar javassist/3.25.0-GA//javassist-3.25.0-GA.jar jcl-over-slf4j/1.7.35//jcl-over-slf4j-1.7.35.jar -jersey-client/2.34//jersey-client-2.34.jar -jersey-common/2.34//jersey-common-2.34.jar -jersey-container-servlet-core/2.34//jersey-container-servlet-core-2.34.jar -jersey-entity-filtering/2.34//jersey-entity-filtering-2.34.jar -jersey-hk2/2.34//jersey-hk2-2.34.jar -jersey-media-json-jackson/2.34//jersey-media-json-jackson-2.34.jar -jersey-server/2.34//jersey-server-2.34.jar +jersey-client/2.35//jersey-client-2.35.jar +jersey-common/2.35//jersey-common-2.35.jar +jersey-container-servlet-core/2.35//jersey-container-servlet-core-2.35.jar +jersey-entity-filtering/2.35//jersey-entity-filtering-2.35.jar +jersey-hk2/2.35//jersey-hk2-2.35.jar +jersey-media-json-jackson/2.35//jersey-media-json-jackson-2.35.jar +jersey-server/2.35//jersey-server-2.35.jar jetty-http/9.4.41.v20210516//jetty-http-9.4.41.v20210516.jar jetty-io/9.4.41.v20210516//jetty-io-9.4.41.v20210516.jar jetty-security/9.4.41.v20210516//jetty-security-9.4.41.v20210516.jar diff --git a/externals/kyuubi-flink-sql-engine/src/main/scala/org/apache/kyuubi/engine/flink/FlinkSQLEngine.scala b/externals/kyuubi-flink-sql-engine/src/main/scala/org/apache/kyuubi/engine/flink/FlinkSQLEngine.scala index 127faadb246..cce82bd9837 100644 --- a/externals/kyuubi-flink-sql-engine/src/main/scala/org/apache/kyuubi/engine/flink/FlinkSQLEngine.scala +++ b/externals/kyuubi-flink-sql-engine/src/main/scala/org/apache/kyuubi/engine/flink/FlinkSQLEngine.scala @@ -26,8 +26,7 @@ import scala.collection.JavaConverters._ import scala.collection.mutable.ListBuffer import org.apache.flink.client.cli.{CliFrontend, CustomCommandLine, DefaultCLI, GenericCLI} -import org.apache.flink.configuration.DeploymentOptions -import org.apache.flink.configuration.GlobalConfiguration +import org.apache.flink.configuration.{Configuration, DeploymentOptions, GlobalConfiguration} import org.apache.flink.table.client.SqlClientException import org.apache.flink.table.client.gateway.context.DefaultContext import org.apache.flink.util.JarUtils @@ -77,6 +76,8 @@ object FlinkSQLEngine extends Logging { try { val flinkConfDir = CliFrontend.getConfigurationDirectoryFromEnv val flinkConf = GlobalConfiguration.loadConfiguration(flinkConfDir) + val flinkConfFromKyuubi = kyuubiConf.getAllWithPrefix("flink", "") + flinkConf.addAll(Configuration.fromMap(flinkConfFromKyuubi.asJava)) val executionTarget = flinkConf.getString(DeploymentOptions.TARGET) // set cluster name for per-job and application mode diff --git a/integration-tests/kyuubi-flink-it/src/test/scala/org/apache/kyuubi/it/flink/FlinkSQLEngineSuite.scala b/integration-tests/kyuubi-flink-it/src/test/scala/org/apache/kyuubi/it/flink/FlinkSQLEngineSuite.scala new file mode 100644 index 00000000000..814a6d1ddc6 --- /dev/null +++ b/integration-tests/kyuubi-flink-it/src/test/scala/org/apache/kyuubi/it/flink/FlinkSQLEngineSuite.scala @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.kyuubi.it.flink + +import org.apache.kyuubi.config.KyuubiConf +import org.apache.kyuubi.config.KyuubiConf.{ENGINE_TYPE, FRONTEND_THRIFT_BINARY_BIND_PORT} +import org.apache.kyuubi.operation.HiveJDBCTestHelper + +class FlinkSQLEngineSuite extends WithKyuubiServerAndFlinkMiniCluster with HiveJDBCTestHelper { + + override val conf: KyuubiConf = KyuubiConf() + .set(ENGINE_TYPE, "FLINK_SQL") + .set(FRONTEND_THRIFT_BINARY_BIND_PORT, 10029) + .set("flink.parallelism.default", "6") + + override protected def jdbcUrl: String = getJdbcUrl + + test("set kyuubi conf into flink conf") { + withJdbcStatement() { statement => + val resultSet = statement.executeQuery("SET") + // Flink does not support set key without value currently, + // thus read all rows to find the desired one + var success = false + while (resultSet.next() && success == false) { + if (resultSet.getString(1) == "parallelism.default" && + resultSet.getString(2) == "6") { + success = true + } + } + assert(success) + } + } +} diff --git a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/EngineRef.scala b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/EngineRef.scala index 929425797b3..e0b0a1c6c9b 100644 --- a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/EngineRef.scala +++ b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/EngineRef.scala @@ -123,13 +123,13 @@ private[kyuubi] class EngineRef( * The EngineSpace used to expose itself to the KyuubiServers in `serverSpace` * * For `CONNECTION` share level: - * /`serverSpace_CONNECTION_engineType`/`user`/`engineRefId` + * /`serverSpace_version_CONNECTION_engineType`/`user`/`engineRefId` * For `USER` share level: - * /`serverSpace_USER_engineType`/`user`[/`subdomain`] + * /`serverSpace_version_USER_engineType`/`user`[/`subdomain`] * For `GROUP` share level: - * /`serverSpace_GROUP_engineType`/`primary group name`[/`subdomain`] + * /`serverSpace_version_GROUP_engineType`/`primary group name`[/`subdomain`] * For `SERVER` share level: - * /`serverSpace_SERVER_engineType`/`kyuubi server user`[/`subdomain`] + * /`serverSpace_version_SERVER_engineType`/`kyuubi server user`[/`subdomain`] */ @VisibleForTesting private[kyuubi] lazy val engineSpace: String = { diff --git a/pom.xml b/pom.xml index 1ebc2ae5d9c..7c1fd6c813c 100644 --- a/pom.xml +++ b/pom.xml @@ -125,7 +125,7 @@ 4.0.4 2.3.2 1.2.1 - 2.34 + 2.35 9.4.41.v20210516 0.9.94 5.12.1