diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/rules/RuleExecutor.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/rules/RuleExecutor.scala index 183be5a027ec5..e991a2dc7462f 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/rules/RuleExecutor.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/rules/RuleExecutor.scala @@ -144,7 +144,7 @@ abstract class RuleExecutor[TreeType <: TreeNode[_]] extends Logging { private class PlanChangeLogger { - private val logLevel = SQLConf.get.optimizerPlanChangeLogLevel.toUpperCase + private val logLevel = SQLConf.get.optimizerPlanChangeLogLevel private val logRules = SQLConf.get.optimizerPlanChangeRules.map(Utils.stringToSeq) diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/internal/SQLConf.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/internal/SQLConf.scala index ddf17fa88c76b..0e0a01def357e 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/internal/SQLConf.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/internal/SQLConf.scala @@ -177,8 +177,8 @@ object SQLConf { "plan after a rule is applied. The value can be 'trace', 'debug', 'info', 'warn', or " + "'error'. The default log level is 'trace'.") .stringConf - .checkValue( - str => Set("TRACE", "DEBUG", "INFO", "WARN", "ERROR").contains(str.toUpperCase), + .transform(_.toUpperCase(Locale.ROOT)) + .checkValue(logLevel => Set("TRACE", "DEBUG", "INFO", "WARN", "ERROR").contains(logLevel), "Invalid value for 'spark.sql.optimizer.planChangeLog.level'. Valid values are " + "'trace', 'debug', 'info', 'warn' and 'error'.") .createWithDefault("trace")