You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gluten.apache.org by ho...@apache.org on 2025/10/03 08:37:23 UTC
(incubator-gluten) branch main updated: [CORE] Refactor configuration API to allow explicit `getAllEntries` calls on specific configuration registry objects (#10835)
This is an automated email from the ASF dual-hosted git repository.
hongze pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-gluten.git
The following commit(s) were added to refs/heads/main by this push:
new 52464e81d2 [CORE] Refactor configuration API to allow explicit `getAllEntries` calls on specific configuration registry objects (#10835)
52464e81d2 is described below
commit 52464e81d2042253b996387405cc353af0293d9f
Author: Hongze Zhang <ho...@gmail.com>
AuthorDate: Fri Oct 3 10:37:19 2025 +0200
[CORE] Refactor configuration API to allow explicit `getAllEntries` calls on specific configuration registry objects (#10835)
---
.../gluten/backendsapi/clickhouse/CHConfig.scala | 6 +-
.../org/apache/gluten/config/VeloxConfig.scala | 21 ++++---
.../gluten/config/AllVeloxConfiguration.scala | 9 +--
docs/velox-configuration.md | 4 +-
.../org/apache/gluten/config/ConfigEntry.scala | 23 -------
.../org/apache/gluten/config/ConfigRegistry.scala | 71 ++++++++++++++++++++++
.../apache/gluten/config/GlutenCoreConfig.scala | 14 ++---
.../spark/sql/internal/GlutenConfigUtil.scala | 3 +-
.../org/apache/gluten/config/GlutenConfig.scala | 35 +++++------
.../gluten/config/AllGlutenConfiguration.scala | 9 ++-
10 files changed, 114 insertions(+), 81 deletions(-)
diff --git a/backends-clickhouse/src/main/scala/org/apache/gluten/backendsapi/clickhouse/CHConfig.scala b/backends-clickhouse/src/main/scala/org/apache/gluten/backendsapi/clickhouse/CHConfig.scala
index 59f2ae3d8a..e3ad3aedc6 100644
--- a/backends-clickhouse/src/main/scala/org/apache/gluten/backendsapi/clickhouse/CHConfig.scala
+++ b/backends-clickhouse/src/main/scala/org/apache/gluten/backendsapi/clickhouse/CHConfig.scala
@@ -16,13 +16,13 @@
*/
package org.apache.gluten.backendsapi.clickhouse
-import org.apache.gluten.config.GlutenConfig
+import org.apache.gluten.config.{ConfigRegistry, GlutenConfig}
import org.apache.spark.SparkConf
import org.apache.spark.network.util.ByteUnit
import org.apache.spark.sql.internal.SQLConf
-object CHConfig {
+object CHConfig extends ConfigRegistry {
private[clickhouse] val BACKEND_NAME: String = "ch"
private[clickhouse] val CONF_PREFIX: String = GlutenConfig.prefixOf(BACKEND_NAME)
private val RUNTIME_SETTINGS: String = s"$CONF_PREFIX.runtime_settings"
@@ -59,8 +59,6 @@ object CHConfig {
def get: CHConfig = new CHConfig(SQLConf.get)
- import GlutenConfig._
-
val ENABLE_ONEPIPELINE_MERGETREE_WRITE =
buildConf(prefixOf("mergetree.write.pipeline"))
.doc("Using one pipeline to write data to MergeTree table in Spark 3.5")
diff --git a/backends-velox/src/main/scala/org/apache/gluten/config/VeloxConfig.scala b/backends-velox/src/main/scala/org/apache/gluten/config/VeloxConfig.scala
index 4b8d89c77c..e8b55bd072 100644
--- a/backends-velox/src/main/scala/org/apache/gluten/config/VeloxConfig.scala
+++ b/backends-velox/src/main/scala/org/apache/gluten/config/VeloxConfig.scala
@@ -16,8 +16,6 @@
*/
package org.apache.gluten.config
-import org.apache.gluten.config.GlutenConfig.{buildConf, buildStaticConf, COLUMNAR_MAX_BATCH_SIZE}
-
import org.apache.spark.network.util.ByteUnit
import org.apache.spark.sql.internal.SQLConf
@@ -46,7 +44,7 @@ class VeloxConfig(conf: SQLConf) extends GlutenConfig(conf) {
}
def veloxResizeBatchesShuffleInputOutputRange: ResizeRange = {
- val standardSize = getConf(COLUMNAR_MAX_BATCH_SIZE)
+ val standardSize = getConf(GlutenConfig.COLUMNAR_MAX_BATCH_SIZE)
val defaultMinSize: Int = (0.25 * standardSize).toInt.max(1)
val minSize = getConf(COLUMNAR_VELOX_RESIZE_BATCHES_SHUFFLE_INPUT_OUTPUT_MIN_SIZE)
.getOrElse(defaultMinSize)
@@ -84,9 +82,8 @@ class VeloxConfig(conf: SQLConf) extends GlutenConfig(conf) {
def cudfEnableTableScan: Boolean = getConf(CUDF_ENABLE_TABLE_SCAN)
}
-object VeloxConfig {
-
- def get: VeloxConfig = {
+object VeloxConfig extends ConfigRegistry {
+ override def get: VeloxConfig = {
new VeloxConfig(SQLConf.get)
}
@@ -269,15 +266,19 @@ object VeloxConfig {
val COLUMNAR_VELOX_RESIZE_BATCHES_SHUFFLE_INPUT =
buildConf("spark.gluten.sql.columnar.backend.velox.resizeBatches.shuffleInput")
- .doc(s"If true, combine small columnar batches together before sending to shuffle. " +
- s"The default minimum output batch size is equal to 0.25 * ${COLUMNAR_MAX_BATCH_SIZE.key}")
+ .doc(
+ s"If true, combine small columnar batches together before sending to shuffle. " +
+ s"The default minimum output batch size is equal to 0.25 * " +
+ s"${GlutenConfig.COLUMNAR_MAX_BATCH_SIZE.key}")
.booleanConf
.createWithDefault(true)
val COLUMNAR_VELOX_RESIZE_BATCHES_SHUFFLE_OUTPUT =
buildConf("spark.gluten.sql.columnar.backend.velox.resizeBatches.shuffleOutput")
- .doc(s"If true, combine small columnar batches together right after shuffle read. " +
- s"The default minimum output batch size is equal to 0.25 * ${COLUMNAR_MAX_BATCH_SIZE.key}")
+ .doc(
+ s"If true, combine small columnar batches together right after shuffle read. " +
+ s"The default minimum output batch size is equal to 0.25 * " +
+ s"${GlutenConfig.COLUMNAR_MAX_BATCH_SIZE.key}")
.booleanConf
.createWithDefault(false)
diff --git a/backends-velox/src/test/scala/org/apache/gluten/config/AllVeloxConfiguration.scala b/backends-velox/src/test/scala/org/apache/gluten/config/AllVeloxConfiguration.scala
index 98c6ee0c8c..a693437b8d 100644
--- a/backends-velox/src/test/scala/org/apache/gluten/config/AllVeloxConfiguration.scala
+++ b/backends-velox/src/test/scala/org/apache/gluten/config/AllVeloxConfiguration.scala
@@ -25,10 +25,7 @@ class AllVeloxConfiguration extends AnyFunSuite {
AllGlutenConfiguration.getCodeSourceLocation(this.getClass).split("backends-velox")(0)
private val markdown = Paths.get(glutenHome, "docs", "velox-configuration.md").toAbsolutePath
- private def loadConfigs = Array(VeloxConfig)
-
test("Check velox backend configs") {
- loadConfigs
val builder = MarkdownBuilder(getClass.getName)
builder ++=
@@ -49,8 +46,7 @@ class AllVeloxConfiguration extends AnyFunSuite {
| --- | --- | ---
|"""
- ConfigEntry.getAllEntries
- .filter(_.key.contains("velox"))
+ VeloxConfig.allEntries
.filter(_.isPublic)
.filter(!_.isExperimental)
.sortBy(_.key)
@@ -69,8 +65,7 @@ class AllVeloxConfiguration extends AnyFunSuite {
| --- | --- | ---
|"""
- ConfigEntry.getAllEntries
- .filter(_.key.contains("velox"))
+ VeloxConfig.allEntries
.filter(_.isPublic)
.filter(_.isExperimental)
.sortBy(_.key)
diff --git a/docs/velox-configuration.md b/docs/velox-configuration.md
index 75ba605c4f..6e80df3f17 100644
--- a/docs/velox-configuration.md
+++ b/docs/velox-configuration.md
@@ -67,6 +67,8 @@ nav_order: 16
| spark.gluten.sql.columnar.backend.velox.ssdChecksumReadVerificationEnabled | false | If true, checksum read verification from SSD is enabled. [...]
| spark.gluten.sql.columnar.backend.velox.ssdDisableFileCow | false | True if copy on write should be disabled. [...]
| spark.gluten.sql.columnar.backend.velox.ssdODirect | false | The O_DIRECT flag for cache writing [...]
+| spark.gluten.sql.enable.enhancedFeatures | true | Enable some features including iceberg native write and other features. [...]
+| spark.gluten.sql.rewrite.castArrayToString | true | When true, rewrite `cast(array as String)` to `concat('[', array_join(array, ', ', null), ']')` to allow offloading to Velox. [...]
| spark.gluten.velox.castFromVarcharAddTrimNode | false | If true, will add a trim node which has the same sementic as vanilla Spark to CAST-from-varchar.Otherwise, do nothing. [...]
| spark.gluten.velox.fs.s3a.connect.timeout | 200s | Timeout for AWS s3 connection. [...]
@@ -74,7 +76,7 @@ nav_order: 16
| Key | Default | Description |
|----------------------------------------------------------|---------|-----------------------------------------------------------------------------------------------------------------------------------------|
-| spark.gluten.velox.abandonbuild.noduphashminpct | 0 | Experimental: abandon hashmap build if duplicated rows are more than this percentile. |
+| spark.gluten.velox.abandonbuild.noduphashminpct | 0.0 | Experimental: abandon hashmap build if duplicated rows are more than this percentile. |
| spark.gluten.velox.abandonbuild.noduphashminrows | 100000 | Experimental: abandon hashmap build if duplicated rows more than this number. |
| spark.gluten.velox.offHeapBroadcastBuildRelation.enabled | false | Experimental: If enabled, broadcast build relation will use offheap memory. Otherwise, broadcast build relation will use onheap memory. |
diff --git a/gluten-core/src/main/scala/org/apache/gluten/config/ConfigEntry.scala b/gluten-core/src/main/scala/org/apache/gluten/config/ConfigEntry.scala
index ed861ec833..5f1ee8d4cf 100644
--- a/gluten-core/src/main/scala/org/apache/gluten/config/ConfigEntry.scala
+++ b/gluten-core/src/main/scala/org/apache/gluten/config/ConfigEntry.scala
@@ -20,8 +20,6 @@ import org.apache.gluten.config.BackendType.BackendType
import org.apache.spark.sql.internal.GlutenConfigProvider
-import scala.collection.JavaConverters._
-
/**
* An entry contains all meta information for a configuration.
*
@@ -82,8 +80,6 @@ trait ConfigEntry[T] {
s"ConfigEntry(key=$key, defaultValue=$defaultValueString, doc=$doc, " +
s"public=$isPublic, version=$version)"
}
-
- ConfigEntry.registerEntry(this)
}
private[gluten] class OptionalConfigEntry[T](
@@ -240,24 +236,5 @@ private[gluten] class ConfigEntryFallback[T](
}
object ConfigEntry {
-
val UNDEFINED = "<undefined>"
-
- private val knownConfigs =
- new java.util.concurrent.ConcurrentHashMap[String, ConfigEntry[_]]()
-
- private def registerEntry(entry: ConfigEntry[_]): Unit = {
- val existing = knownConfigs.putIfAbsent(entry.key, entry)
- require(existing == null, s"Config entry ${entry.key} already registered!")
- }
-
- def containsEntry(entry: ConfigEntry[_]): Boolean = {
- Option(knownConfigs.get(entry.key)).isDefined
- }
-
- def findEntry(key: String): ConfigEntry[_] = knownConfigs.get(key)
-
- def getAllEntries: Seq[ConfigEntry[_]] = {
- knownConfigs.values().asScala.toSeq
- }
}
diff --git a/gluten-core/src/main/scala/org/apache/gluten/config/ConfigRegistry.scala b/gluten-core/src/main/scala/org/apache/gluten/config/ConfigRegistry.scala
new file mode 100644
index 0000000000..de52f752b8
--- /dev/null
+++ b/gluten-core/src/main/scala/org/apache/gluten/config/ConfigRegistry.scala
@@ -0,0 +1,71 @@
+/*
+ * 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.gluten.config
+
+import org.apache.spark.sql.internal.SQLConf
+
+import scala.collection.JavaConverters._
+
+trait ConfigRegistry {
+ private val configEntries =
+ new java.util.concurrent.ConcurrentHashMap[String, ConfigEntry[_]]().asScala
+
+ private def register(entry: ConfigEntry[_]): Unit = {
+ val existing = configEntries.putIfAbsent(entry.key, entry)
+ require(existing.isEmpty, s"Config entry ${entry.key} already registered!")
+ }
+
+ /** Visible for testing. */
+ private[config] def allEntries: Seq[ConfigEntry[_]] = {
+ configEntries.values.toSeq
+ }
+
+ protected def buildConf(key: String): ConfigBuilder = {
+ ConfigBuilder(key).onCreate {
+ entry =>
+ register(entry)
+ ConfigRegistry.registerToAllEntries(entry)
+ }
+ }
+
+ protected def buildStaticConf(key: String): ConfigBuilder = {
+ ConfigBuilder(key).onCreate {
+ entry =>
+ SQLConf.registerStaticConfigKey(key)
+ register(entry)
+ ConfigRegistry.registerToAllEntries(entry)
+ }
+ }
+
+ def get: GlutenCoreConfig
+}
+
+object ConfigRegistry {
+ private val allConfigEntries =
+ new java.util.concurrent.ConcurrentHashMap[String, ConfigEntry[_]]().asScala
+
+ private def registerToAllEntries(entry: ConfigEntry[_]): Unit = {
+ val existing = allConfigEntries.putIfAbsent(entry.key, entry)
+ require(existing.isEmpty, s"Config entry ${entry.key} already registered!")
+ }
+
+ def containsEntry(entry: ConfigEntry[_]): Boolean = {
+ allConfigEntries.contains(entry.key)
+ }
+
+ def findEntry(key: String): Option[ConfigEntry[_]] = allConfigEntries.get(key)
+}
diff --git a/gluten-core/src/main/scala/org/apache/gluten/config/GlutenCoreConfig.scala b/gluten-core/src/main/scala/org/apache/gluten/config/GlutenCoreConfig.scala
index 4d27b7b451..e76a9431d1 100644
--- a/gluten-core/src/main/scala/org/apache/gluten/config/GlutenCoreConfig.scala
+++ b/gluten-core/src/main/scala/org/apache/gluten/config/GlutenCoreConfig.scala
@@ -26,7 +26,7 @@ class GlutenCoreConfig(conf: SQLConf) extends Logging {
private lazy val configProvider = new SQLConfProvider(conf)
def getConf[T](entry: ConfigEntry[T]): T = {
- require(ConfigEntry.containsEntry(entry), s"$entry is not registered")
+ require(ConfigRegistry.containsEntry(entry), s"$entry is not registered")
entry.readFrom(configProvider)
}
@@ -59,17 +59,11 @@ class GlutenCoreConfig(conf: SQLConf) extends Logging {
}
/*
- * Note: Gluten configiguration.md is automatically generated from this code.
+ * Note: Gluten configuration.md is automatically generated from this code.
* Make sure to run dev/gen_all_config_docs.sh after making changes to this file.
*/
-object GlutenCoreConfig {
- def buildConf(key: String): ConfigBuilder = ConfigBuilder(key)
-
- def buildStaticConf(key: String): ConfigBuilder = {
- ConfigBuilder(key).onCreate(_ => SQLConf.registerStaticConfigKey(key))
- }
-
- def get: GlutenCoreConfig = {
+object GlutenCoreConfig extends ConfigRegistry {
+ override def get: GlutenCoreConfig = {
new GlutenCoreConfig(SQLConf.get)
}
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/internal/GlutenConfigUtil.scala b/gluten-core/src/main/scala/org/apache/spark/sql/internal/GlutenConfigUtil.scala
index aba15f7224..db8f985856 100644
--- a/gluten-core/src/main/scala/org/apache/spark/sql/internal/GlutenConfigUtil.scala
+++ b/gluten-core/src/main/scala/org/apache/spark/sql/internal/GlutenConfigUtil.scala
@@ -25,7 +25,8 @@ object GlutenConfigUtil {
configProvider: GlutenConfigProvider,
key: String,
value: String): String = {
- Option(ConfigEntry.findEntry(key))
+ ConfigRegistry
+ .findEntry(key)
.map {
_.readFrom(configProvider) match {
case o: Option[_] => o.map(_.toString).getOrElse(value)
diff --git a/gluten-substrait/src/main/scala/org/apache/gluten/config/GlutenConfig.scala b/gluten-substrait/src/main/scala/org/apache/gluten/config/GlutenConfig.scala
index 05b222084f..b8776853a6 100644
--- a/gluten-substrait/src/main/scala/org/apache/gluten/config/GlutenConfig.scala
+++ b/gluten-substrait/src/main/scala/org/apache/gluten/config/GlutenConfig.scala
@@ -362,14 +362,7 @@ class GlutenConfig(conf: SQLConf) extends GlutenCoreConfig(conf) {
JavaUtils.byteStringAsBytes(conf.getConfString(SPARK_MAX_BROADCAST_TABLE_SIZE, "8GB"))
}
-object GlutenConfig {
- import SQLConf._
-
- def buildConf(key: String): ConfigBuilder = ConfigBuilder(key)
-
- def buildStaticConf(key: String): ConfigBuilder = {
- ConfigBuilder(key).onCreate(_ => SQLConf.registerStaticConfigKey(key))
- }
+object GlutenConfig extends ConfigRegistry {
// Hive configurations.
val SPARK_SQL_PARQUET_COMPRESSION_CODEC: String = "spark.sql.parquet.compression.codec"
@@ -505,9 +498,11 @@ object GlutenConfig {
nativeConfMap.putAll(conf.filter(e => nativeKeys.contains(e._1)).asJava)
val keyWithDefault = ImmutableList.of(
- (CASE_SENSITIVE.key, CASE_SENSITIVE.defaultValueString),
- (IGNORE_MISSING_FILES.key, IGNORE_MISSING_FILES.defaultValueString),
- (LEGACY_STATISTICAL_AGGREGATE.key, LEGACY_STATISTICAL_AGGREGATE.defaultValueString),
+ (SQLConf.CASE_SENSITIVE.key, SQLConf.CASE_SENSITIVE.defaultValueString),
+ (SQLConf.IGNORE_MISSING_FILES.key, SQLConf.IGNORE_MISSING_FILES.defaultValueString),
+ (
+ SQLConf.LEGACY_STATISTICAL_AGGREGATE.key,
+ SQLConf.LEGACY_STATISTICAL_AGGREGATE.defaultValueString),
(
COLUMNAR_MEMORY_BACKTRACE_ALLOCATION.key,
COLUMNAR_MEMORY_BACKTRACE_ALLOCATION.defaultValueString),
@@ -515,9 +510,9 @@ object GlutenConfig {
GLUTEN_COLUMNAR_TO_ROW_MEM_THRESHOLD.key,
GLUTEN_COLUMNAR_TO_ROW_MEM_THRESHOLD.defaultValue.get.toString),
(SPARK_SHUFFLE_SPILL_COMPRESS, SPARK_SHUFFLE_SPILL_COMPRESS_DEFAULT.toString),
- (MAP_KEY_DEDUP_POLICY.key, MAP_KEY_DEDUP_POLICY.defaultValueString),
- (SESSION_LOCAL_TIMEZONE.key, SESSION_LOCAL_TIMEZONE.defaultValueString),
- (ANSI_ENABLED.key, ANSI_ENABLED.defaultValueString)
+ (SQLConf.MAP_KEY_DEDUP_POLICY.key, SQLConf.MAP_KEY_DEDUP_POLICY.defaultValueString),
+ (SQLConf.SESSION_LOCAL_TIMEZONE.key, SQLConf.SESSION_LOCAL_TIMEZONE.defaultValueString),
+ (SQLConf.ANSI_ENABLED.key, SQLConf.ANSI_ENABLED.defaultValueString)
)
keyWithDefault.forEach(e => nativeConfMap.put(e._1, conf.getOrElse(e._1, e._2)))
GlutenConfigUtil.mapByteConfValue(
@@ -533,11 +528,11 @@ object GlutenConfig {
v => nativeConfMap.put(SPARK_SHUFFLE_FILE_BUFFER, (v * 1024).toString))
conf
- .get(LEGACY_TIME_PARSER_POLICY.key)
+ .get(SQLConf.LEGACY_TIME_PARSER_POLICY.key)
.foreach(
v =>
nativeConfMap
- .put(LEGACY_TIME_PARSER_POLICY.key, v.toUpperCase(Locale.ROOT)))
+ .put(SQLConf.LEGACY_TIME_PARSER_POLICY.key, v.toUpperCase(Locale.ROOT)))
// Backend's dynamic session conf only.
val confPrefix = prefixOf(backendName)
@@ -598,7 +593,7 @@ object GlutenConfig {
("spark.gluten.velox.awsSdkLogLevel", "FATAL"),
("spark.gluten.velox.s3UseProxyFromEnv", "false"),
("spark.gluten.velox.s3PayloadSigningPolicy", "Never"),
- (SESSION_LOCAL_TIMEZONE.key, SESSION_LOCAL_TIMEZONE.defaultValueString)
+ (SQLConf.SESSION_LOCAL_TIMEZONE.key, SQLConf.SESSION_LOCAL_TIMEZONE.defaultValueString)
)
keyWithDefault.forEach(e => nativeConfMap.put(e._1, conf.getOrElse(e._1, e._2)))
@@ -611,10 +606,10 @@ object GlutenConfig {
GlutenCoreConfig.COLUMNAR_OFFHEAP_SIZE_IN_BYTES.key,
GlutenCoreConfig.COLUMNAR_TASK_OFFHEAP_SIZE_IN_BYTES.key,
GlutenCoreConfig.SPARK_OFFHEAP_ENABLED_KEY,
- DECIMAL_OPERATIONS_ALLOW_PREC_LOSS.key,
+ SQLConf.DECIMAL_OPERATIONS_ALLOW_PREC_LOSS.key,
SPARK_REDACTION_REGEX,
- LEGACY_TIME_PARSER_POLICY.key,
- LEGACY_STATISTICAL_AGGREGATE.key,
+ SQLConf.LEGACY_TIME_PARSER_POLICY.key,
+ SQLConf.LEGACY_STATISTICAL_AGGREGATE.key,
COLUMNAR_CUDF_ENABLED.key
)
nativeConfMap.putAll(conf.filter(e => keys.contains(e._1)).asJava)
diff --git a/gluten-substrait/src/test/scala/org/apache/gluten/config/AllGlutenConfiguration.scala b/gluten-substrait/src/test/scala/org/apache/gluten/config/AllGlutenConfiguration.scala
index 776b4b559d..b7e98c85d9 100644
--- a/gluten-substrait/src/test/scala/org/apache/gluten/config/AllGlutenConfiguration.scala
+++ b/gluten-substrait/src/test/scala/org/apache/gluten/config/AllGlutenConfiguration.scala
@@ -49,10 +49,7 @@ class AllGlutenConfiguration extends AnyFunSuite {
AllGlutenConfiguration.getCodeSourceLocation(this.getClass).split("gluten-substrait")(0)
private val markdown = Paths.get(glutenHome, "docs", "Configuration.md").toAbsolutePath
- private def loadConfigs = Array(GlutenConfig, GlutenCoreConfig)
-
test("Check gluten configs") {
- loadConfigs
val builder = MarkdownBuilder(getClass.getName)
builder ++=
@@ -110,7 +107,9 @@ class AllGlutenConfiguration extends AnyFunSuite {
| --- | --- | ---
|"""
- ConfigEntry.getAllEntries
+ val allEntries = GlutenConfig.allEntries ++ GlutenCoreConfig.allEntries
+
+ allEntries
.filter(_.isPublic)
.filter(!_.isExperimental)
.sortBy(_.key)
@@ -129,7 +128,7 @@ class AllGlutenConfiguration extends AnyFunSuite {
| --- | --- | ---
|"""
- ConfigEntry.getAllEntries
+ allEntries
.filter(_.isPublic)
.filter(_.isExperimental)
.sortBy(_.key)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@gluten.apache.org
For additional commands, e-mail: commits-help@gluten.apache.org