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 cacc0bc9e..5aeb4ee0c 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 @@ -39,7 +39,9 @@ case class KyuubiConf(loadSysDefault: Boolean = true) extends Logging { } private def loadFromMap(props: Map[String, String] = Utils.getSystemProperties): KyuubiConf = { - for ((key, value) <- props if key.startsWith("kyuubi.") || key.startsWith("spark.")) { + for ((key, value) <- props if key.startsWith("kyuubi.") || key.startsWith("spark.") || + // for user specific defaults + key.startsWith("___")) { set(key, value) } this diff --git a/kyuubi-common/src/test/resources/kyuubi-defaults.conf b/kyuubi-common/src/test/resources/kyuubi-defaults.conf index 0bd89b938..ef781757a 100644 --- a/kyuubi-common/src/test/resources/kyuubi-defaults.conf +++ b/kyuubi-common/src/test/resources/kyuubi-defaults.conf @@ -18,3 +18,7 @@ kyuubi.yes yes spark.kyuubi.yes no # kyuubi.no no + +spark.user.test a +___userb___.spark.user.test b +___userc___.spark.user.test c \ No newline at end of file diff --git a/kyuubi-common/src/test/scala/org/apache/kyuubi/config/KyuubiConfSuite.scala b/kyuubi-common/src/test/scala/org/apache/kyuubi/config/KyuubiConfSuite.scala index fc7065fca..e49f2878a 100644 --- a/kyuubi-common/src/test/scala/org/apache/kyuubi/config/KyuubiConfSuite.scala +++ b/kyuubi-common/src/test/scala/org/apache/kyuubi/config/KyuubiConfSuite.scala @@ -97,17 +97,10 @@ class KyuubiConfSuite extends KyuubiFunSuite { test("get user specific defaults") { - val conf = KyuubiConf(false) - .set("spark.user.test", "a") - .set("___userb___.spark.user.test", "b") - .set("___userc___.spark.user.test", "c") + val conf = KyuubiConf().loadFileDefaults() - val all1 = conf.getUserDefaults("kyuubi").getAll - assert(all1.size === 1) - assert(all1("spark.user.test") === "a") - val all2 = conf.getUserDefaults("userb").getAll - assert(all2.size === 1) - assert(all2("spark.user.test") === "b") + assert(conf.getUserDefaults("kyuubi").getOption("spark.user.test").get === "a") + assert(conf.getUserDefaults("userb").getOption("spark.user.test").get === "b") assert(conf.getUserDefaults("userc").getOption("spark.user.test").get === "c") }