diff --git a/externals/kyuubi-flink-sql-engine/src/test/scala/org/apache/kyuubi/engine/flink/WithFlinkSQLEngineLocal.scala b/externals/kyuubi-flink-sql-engine/src/test/scala/org/apache/kyuubi/engine/flink/WithFlinkSQLEngineLocal.scala index c85c18fd4..4ae7983a9 100644 --- a/externals/kyuubi-flink-sql-engine/src/test/scala/org/apache/kyuubi/engine/flink/WithFlinkSQLEngineLocal.scala +++ b/externals/kyuubi-flink-sql-engine/src/test/scala/org/apache/kyuubi/engine/flink/WithFlinkSQLEngineLocal.scala @@ -25,6 +25,7 @@ import java.nio.file.{Files, Paths} import scala.collection.JavaConverters._ import scala.collection.mutable +import org.apache.commons.lang3.StringUtils import org.apache.flink.configuration.{Configuration, RestOptions} import org.apache.flink.runtime.minicluster.{MiniCluster, MiniClusterConfiguration} @@ -119,7 +120,7 @@ trait WithFlinkSQLEngineLocal extends KyuubiFunSuite with WithFlinkTestResources val memory = conf.get(ENGINE_FLINK_MEMORY) command += s"-Xmx$memory" - val javaOptions = conf.get(ENGINE_FLINK_JAVA_OPTIONS) + val javaOptions = conf.get(ENGINE_FLINK_JAVA_OPTIONS).filter(StringUtils.isNotBlank(_)) if (javaOptions.isDefined) { command += javaOptions.get } diff --git a/kyuubi-common/src/main/scala/org/apache/kyuubi/engine/deploy/yarn/EngineYarnModeSubmitter.scala b/kyuubi-common/src/main/scala/org/apache/kyuubi/engine/deploy/yarn/EngineYarnModeSubmitter.scala index e0fbe1667..44880fb03 100644 --- a/kyuubi-common/src/main/scala/org/apache/kyuubi/engine/deploy/yarn/EngineYarnModeSubmitter.scala +++ b/kyuubi-common/src/main/scala/org/apache/kyuubi/engine/deploy/yarn/EngineYarnModeSubmitter.scala @@ -29,6 +29,7 @@ import scala.collection.JavaConverters._ import scala.collection.mutable import scala.collection.mutable.ListBuffer +import org.apache.commons.lang3.StringUtils import org.apache.hadoop.conf.Configuration import org.apache.hadoop.fs.{FileSystem, Path} import org.apache.hadoop.fs.permission.FsPermission @@ -201,7 +202,8 @@ abstract class EngineYarnModeSubmitter extends Logging { val javaOpts = ListBuffer[String]() - val javaOptions = kyuubiConf.get(ENGINE_DEPLOY_YARN_MODE_JAVA_OPTIONS) + val javaOptions = + kyuubiConf.get(ENGINE_DEPLOY_YARN_MODE_JAVA_OPTIONS).filter(StringUtils.isNotBlank(_)) if (javaOptions.isDefined) { javaOpts += javaOptions.get } diff --git a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/chat/ChatProcessBuilder.scala b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/chat/ChatProcessBuilder.scala index 5336e8389..f75b31c22 100644 --- a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/chat/ChatProcessBuilder.scala +++ b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/chat/ChatProcessBuilder.scala @@ -23,6 +23,7 @@ import java.nio.file.{Files, Paths} import scala.collection.mutable import com.google.common.annotations.VisibleForTesting +import org.apache.commons.lang3.StringUtils import org.apache.kyuubi.{Logging, SCALA_COMPILE_VERSION, Utils} import org.apache.kyuubi.config.KyuubiConf @@ -65,7 +66,7 @@ class ChatProcessBuilder( val memory = conf.get(ENGINE_CHAT_MEMORY) buffer += s"-Xmx$memory" - val javaOptions = conf.get(ENGINE_CHAT_JAVA_OPTIONS) + val javaOptions = conf.get(ENGINE_CHAT_JAVA_OPTIONS).filter(StringUtils.isNotBlank(_)) javaOptions.foreach(buffer += _) val classpathEntries = new mutable.LinkedHashSet[String] diff --git a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/flink/FlinkProcessBuilder.scala b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/flink/FlinkProcessBuilder.scala index 3fa7ea50a..9597c974f 100644 --- a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/flink/FlinkProcessBuilder.scala +++ b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/flink/FlinkProcessBuilder.scala @@ -23,6 +23,7 @@ import java.nio.file.{Files, Paths} import scala.collection.mutable import com.google.common.annotations.VisibleForTesting +import org.apache.commons.lang3.StringUtils import org.apache.kyuubi._ import org.apache.kyuubi.config.KyuubiConf @@ -152,7 +153,7 @@ class FlinkProcessBuilder( val memory = conf.get(ENGINE_FLINK_MEMORY) buffer += s"-Xmx$memory" - val javaOptions = conf.get(ENGINE_FLINK_JAVA_OPTIONS) + val javaOptions = conf.get(ENGINE_FLINK_JAVA_OPTIONS).filter(StringUtils.isNotBlank(_)) if (javaOptions.isDefined) { buffer += javaOptions.get } diff --git a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/hive/HiveProcessBuilder.scala b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/hive/HiveProcessBuilder.scala index da035fcf9..8fc14d4ca 100644 --- a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/hive/HiveProcessBuilder.scala +++ b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/hive/HiveProcessBuilder.scala @@ -23,6 +23,7 @@ import java.nio.file.{Files, Paths} import scala.collection.mutable import com.google.common.annotations.VisibleForTesting +import org.apache.commons.lang3.StringUtils import org.apache.hadoop.security.UserGroupInformation import org.apache.kyuubi._ @@ -62,7 +63,7 @@ class HiveProcessBuilder( val memory = conf.get(ENGINE_HIVE_MEMORY) buffer += s"-Xmx$memory" - val javaOptions = conf.get(ENGINE_HIVE_JAVA_OPTIONS) + val javaOptions = conf.get(ENGINE_HIVE_JAVA_OPTIONS).filter(StringUtils.isNotBlank(_)) if (javaOptions.isDefined) { buffer += javaOptions.get } diff --git a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/jdbc/JdbcProcessBuilder.scala b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/jdbc/JdbcProcessBuilder.scala index e31376f36..6d7b66aac 100644 --- a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/jdbc/JdbcProcessBuilder.scala +++ b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/jdbc/JdbcProcessBuilder.scala @@ -23,6 +23,7 @@ import java.nio.file.Paths import scala.collection.mutable import com.google.common.annotations.VisibleForTesting +import org.apache.commons.lang3.StringUtils import org.apache.hadoop.security.UserGroupInformation import org.apache.kyuubi.{KyuubiException, Logging, SCALA_COMPILE_VERSION, Utils} @@ -71,7 +72,7 @@ class JdbcProcessBuilder( val memory = conf.get(ENGINE_JDBC_MEMORY) buffer += s"-Xmx$memory" - val javaOptions = conf.get(ENGINE_JDBC_JAVA_OPTIONS) + val javaOptions = conf.get(ENGINE_JDBC_JAVA_OPTIONS).filter(StringUtils.isNotBlank(_)) javaOptions.foreach(buffer += _) val classpathEntries = new mutable.LinkedHashSet[String] diff --git a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/jdbc/JdbcYarnModeProcessBuilder.scala b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/jdbc/JdbcYarnModeProcessBuilder.scala index fbc4416d7..0fb8d6646 100644 --- a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/jdbc/JdbcYarnModeProcessBuilder.scala +++ b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/jdbc/JdbcYarnModeProcessBuilder.scala @@ -23,6 +23,8 @@ import java.util import scala.collection.JavaConverters._ import scala.collection.mutable.ArrayBuffer +import org.apache.commons.lang3.StringUtils + import org.apache.kyuubi.{Logging, SCALA_COMPILE_VERSION, Utils} import org.apache.kyuubi.config.KyuubiConf import org.apache.kyuubi.config.KyuubiConf.{ENGINE_JDBC_EXTRA_CLASSPATH, ENGINE_JDBC_MEMORY} @@ -93,7 +95,7 @@ class JdbcYarnModeProcessBuilder( private def jarFiles(isClasspath: Boolean): util.LinkedHashSet[String] = { val jarEntries = new util.LinkedHashSet[String] mainResource.foreach(jarEntries.add) - val javaOptions = conf.get(ENGINE_JDBC_EXTRA_CLASSPATH) + val javaOptions = conf.get(ENGINE_JDBC_EXTRA_CLASSPATH).filter(StringUtils.isNotBlank(_)) if (isClasspath) { javaOptions.foreach(jarEntries.add) } diff --git a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/trino/TrinoProcessBuilder.scala b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/trino/TrinoProcessBuilder.scala index c07c92fd8..6c21215b5 100644 --- a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/trino/TrinoProcessBuilder.scala +++ b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/trino/TrinoProcessBuilder.scala @@ -23,6 +23,7 @@ import java.nio.file.Paths import scala.collection.mutable import com.google.common.annotations.VisibleForTesting +import org.apache.commons.lang3.StringUtils import org.apache.kyuubi.{Logging, SCALA_COMPILE_VERSION, Utils} import org.apache.kyuubi.config.KyuubiConf @@ -62,7 +63,7 @@ class TrinoProcessBuilder( val memory = conf.get(ENGINE_TRINO_MEMORY) buffer += s"-Xmx$memory" - val javaOptions = conf.get(ENGINE_TRINO_JAVA_OPTIONS) + val javaOptions = conf.get(ENGINE_TRINO_JAVA_OPTIONS).filter(StringUtils.isNotBlank(_)) if (javaOptions.isDefined) { buffer += javaOptions.get }