This is an automated email from the ASF dual-hosted git repository.
yangzy 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 c5d1d059b0 [CORE] Replace Component BuildInfo with String Map (#11292)
c5d1d059b0 is described below
commit c5d1d059b0e7ab28031515fc6d64b98878950e97
Author: Zouxxyy <[email protected]>
AuthorDate: Mon Dec 22 09:35:16 2025 +0800
[CORE] Replace Component BuildInfo with String Map (#11292)
Gluten components:
==============================================================
Component velox
velox_branch = imb/velox_20251129
velox_revision = 77c239c7e9b17df7f998e5022b0b005e2b35a08b
velox_revisionTime = 2025-11-29 11:39:25 +0800
Component velox-paimon
Component velox-iceberg
==============================================================
---
.../apache/gluten/component/CHDeltaComponent.scala | 3 +--
.../gluten/component/CHIcebergComponent.scala | 3 +--
.../apache/gluten/component/CHKafkaComponent.scala | 4 ++--
.../gluten/backendsapi/clickhouse/CHBackend.scala | 9 ++++++---
.../gluten/component/VeloxDeltaComponent.scala | 3 +--
.../component/VeloxDelta33WriteComponent.scala | 3 ---
.../gluten/component/VeloxHudiComponent.scala | 3 +--
.../gluten/component/VeloxIcebergComponent.scala | 3 +--
.../gluten/component/VeloxPaimonComponent.scala | 3 +--
.../gluten/backendsapi/velox/VeloxBackend.scala | 9 ++++++---
.../main/scala/org/apache/gluten/GlutenPlugin.scala | 21 ++++++++-------------
.../org/apache/gluten/component/Component.scala | 2 +-
.../apache/gluten/component/ComponentSuite.scala | 6 ------
.../apache/gluten/component/WithDummyBackend.scala | 2 --
14 files changed, 29 insertions(+), 45 deletions(-)
diff --git
a/backends-clickhouse/src-delta/main/scala/org/apache/gluten/component/CHDeltaComponent.scala
b/backends-clickhouse/src-delta/main/scala/org/apache/gluten/component/CHDeltaComponent.scala
index f9fd8e7245..7db5e023c5 100644
---
a/backends-clickhouse/src-delta/main/scala/org/apache/gluten/component/CHDeltaComponent.scala
+++
b/backends-clickhouse/src-delta/main/scala/org/apache/gluten/component/CHDeltaComponent.scala
@@ -33,8 +33,7 @@ import org.apache.spark.util.SparkReflectionUtil
class CHDeltaComponent extends Component {
override def name(): String = "ch-delta"
- override def buildInfo(): Component.BuildInfo =
- Component.BuildInfo("CHDelta", "N/A", "N/A", "N/A")
+
override def dependencies(): Seq[Class[_ <: Component]] = classOf[CHBackend]
:: Nil
override def isRuntimeCompatible: Boolean = {
diff --git
a/backends-clickhouse/src-iceberg/main/scala/org/apache/gluten/component/CHIcebergComponent.scala
b/backends-clickhouse/src-iceberg/main/scala/org/apache/gluten/component/CHIcebergComponent.scala
index cbd5a09362..0c526e672b 100644
---
a/backends-clickhouse/src-iceberg/main/scala/org/apache/gluten/component/CHIcebergComponent.scala
+++
b/backends-clickhouse/src-iceberg/main/scala/org/apache/gluten/component/CHIcebergComponent.scala
@@ -24,8 +24,7 @@ import org.apache.spark.util.SparkReflectionUtil
class CHIcebergComponent extends Component {
override def name(): String = "clickhouse-iceberg"
- override def buildInfo(): Component.BuildInfo =
- Component.BuildInfo("ClickHouseIceberg", "N/A", "N/A", "N/A")
+
override def dependencies(): Seq[Class[_ <: Component]] = classOf[CHBackend]
:: Nil
override def isRuntimeCompatible: Boolean = {
diff --git
a/backends-clickhouse/src-kafka/main/scala/org/apache/gluten/component/CHKafkaComponent.scala
b/backends-clickhouse/src-kafka/main/scala/org/apache/gluten/component/CHKafkaComponent.scala
index 1e9f0f9d77..2922bace4f 100644
---
a/backends-clickhouse/src-kafka/main/scala/org/apache/gluten/component/CHKafkaComponent.scala
+++
b/backends-clickhouse/src-kafka/main/scala/org/apache/gluten/component/CHKafkaComponent.scala
@@ -23,9 +23,9 @@ import org.apache.gluten.extension.injector.Injector
class CHKafkaComponent extends Component {
override def name(): String = "clickhouse-kafka"
- override def buildInfo(): Component.BuildInfo =
- Component.BuildInfo("ClickHouseKafka", "N/A", "N/A", "N/A")
+
override def dependencies(): Seq[Class[_ <: Component]] = classOf[CHBackend]
:: Nil
+
override def injectRules(injector: Injector): Unit = {
OffloadKafkaScan.inject(injector)
}
diff --git
a/backends-clickhouse/src/main/scala/org/apache/gluten/backendsapi/clickhouse/CHBackend.scala
b/backends-clickhouse/src/main/scala/org/apache/gluten/backendsapi/clickhouse/CHBackend.scala
index c26a8599eb..7268ea0e6f 100644
---
a/backends-clickhouse/src/main/scala/org/apache/gluten/backendsapi/clickhouse/CHBackend.scala
+++
b/backends-clickhouse/src/main/scala/org/apache/gluten/backendsapi/clickhouse/CHBackend.scala
@@ -18,7 +18,6 @@ package org.apache.gluten.backendsapi.clickhouse
import org.apache.gluten.GlutenBuildInfo._
import org.apache.gluten.backendsapi._
-import org.apache.gluten.component.Component.BuildInfo
import org.apache.gluten.config.GlutenConfig
import org.apache.gluten.execution.ValidationResult
import org.apache.gluten.execution.WriteFilesExecTransformer
@@ -53,8 +52,12 @@ import scala.util.control.Breaks.{break, breakable}
class CHBackend extends SubstraitBackend {
import CHBackend._
override def name(): String = CHConfig.BACKEND_NAME
- override def buildInfo(): BuildInfo =
- BuildInfo("ClickHouse", CH_BRANCH, CH_COMMIT, "UNKNOWN")
+ override def info(): Map[String, String] = {
+ Map(
+ "ch_branch" -> CH_BRANCH,
+ "ch_revision" -> CH_COMMIT
+ )
+ }
override def iteratorApi(): IteratorApi = new CHIteratorApi
override def sparkPlanExecApi(): SparkPlanExecApi = new CHSparkPlanExecApi
override def transformerApi(): TransformerApi = new CHTransformerApi
diff --git
a/backends-velox/src-delta/main/scala/org/apache/gluten/component/VeloxDeltaComponent.scala
b/backends-velox/src-delta/main/scala/org/apache/gluten/component/VeloxDeltaComponent.scala
index b1da590246..9de99131a8 100644
---
a/backends-velox/src-delta/main/scala/org/apache/gluten/component/VeloxDeltaComponent.scala
+++
b/backends-velox/src-delta/main/scala/org/apache/gluten/component/VeloxDeltaComponent.scala
@@ -29,8 +29,7 @@ import org.apache.spark.util.SparkReflectionUtil
class VeloxDeltaComponent extends Component {
override def name(): String = "velox-delta"
- override def buildInfo(): Component.BuildInfo =
- Component.BuildInfo("VeloxDelta", "N/A", "N/A", "N/A")
+
override def dependencies(): Seq[Class[_ <: Component]] =
classOf[VeloxBackend] :: Nil
override def isRuntimeCompatible: Boolean = {
diff --git
a/backends-velox/src-delta33/main/scala/org/apache/gluten/component/VeloxDelta33WriteComponent.scala
b/backends-velox/src-delta33/main/scala/org/apache/gluten/component/VeloxDelta33WriteComponent.scala
index f1e06d0702..1c21158340 100644
---
a/backends-velox/src-delta33/main/scala/org/apache/gluten/component/VeloxDelta33WriteComponent.scala
+++
b/backends-velox/src-delta33/main/scala/org/apache/gluten/component/VeloxDelta33WriteComponent.scala
@@ -28,9 +28,6 @@ import
org.apache.spark.sql.execution.datasources.v2.{LeafV2CommandExec, Offload
class VeloxDelta33WriteComponent extends Component {
override def name(): String = "velox-delta33-write"
- override def buildInfo(): Component.BuildInfo =
- Component.BuildInfo("VeloxDelta33Write", "N/A", "N/A", "N/A")
-
override def dependencies(): Seq[Class[_ <: Component]] =
classOf[VeloxDeltaComponent] :: Nil
override def injectRules(injector: Injector): Unit = {
diff --git
a/backends-velox/src-hudi/main/scala/org/apache/gluten/component/VeloxHudiComponent.scala
b/backends-velox/src-hudi/main/scala/org/apache/gluten/component/VeloxHudiComponent.scala
index b347955441..56d1c8548c 100644
---
a/backends-velox/src-hudi/main/scala/org/apache/gluten/component/VeloxHudiComponent.scala
+++
b/backends-velox/src-hudi/main/scala/org/apache/gluten/component/VeloxHudiComponent.scala
@@ -29,8 +29,7 @@ import org.apache.spark.util.SparkReflectionUtil
class VeloxHudiComponent extends Component {
override def name(): String = "velox-hudi"
- override def buildInfo(): Component.BuildInfo =
- Component.BuildInfo("VeloxHudi", "N/A", "N/A", "N/A")
+
override def dependencies(): Seq[Class[_ <: Component]] =
classOf[VeloxBackend] :: Nil
override def isRuntimeCompatible: Boolean = {
diff --git
a/backends-velox/src-iceberg/main/scala/org/apache/gluten/component/VeloxIcebergComponent.scala
b/backends-velox/src-iceberg/main/scala/org/apache/gluten/component/VeloxIcebergComponent.scala
index 6b5d75ef57..8b6af1f045 100644
---
a/backends-velox/src-iceberg/main/scala/org/apache/gluten/component/VeloxIcebergComponent.scala
+++
b/backends-velox/src-iceberg/main/scala/org/apache/gluten/component/VeloxIcebergComponent.scala
@@ -24,8 +24,7 @@ import org.apache.spark.util.SparkReflectionUtil
class VeloxIcebergComponent extends Component {
override def name(): String = "velox-iceberg"
- override def buildInfo(): Component.BuildInfo =
- Component.BuildInfo("VeloxIceberg", "N/A", "N/A", "N/A")
+
override def dependencies(): Seq[Class[_ <: Component]] =
classOf[VeloxBackend] :: Nil
override def isRuntimeCompatible: Boolean = {
diff --git
a/backends-velox/src-paimon/main/scala/org/apache/gluten/component/VeloxPaimonComponent.scala
b/backends-velox/src-paimon/main/scala/org/apache/gluten/component/VeloxPaimonComponent.scala
index dbe1da3af4..ae7178bcdf 100644
---
a/backends-velox/src-paimon/main/scala/org/apache/gluten/component/VeloxPaimonComponent.scala
+++
b/backends-velox/src-paimon/main/scala/org/apache/gluten/component/VeloxPaimonComponent.scala
@@ -29,8 +29,7 @@ import org.apache.spark.util.SparkReflectionUtil
class VeloxPaimonComponent extends Component {
override def name(): String = "velox-paimon"
- override def buildInfo(): Component.BuildInfo =
- Component.BuildInfo("VeloxPaimon", "N/A", "N/A", "N/A")
+
override def dependencies(): Seq[Class[_ <: Component]] =
classOf[VeloxBackend] :: Nil
override def isRuntimeCompatible: Boolean = {
diff --git
a/backends-velox/src/main/scala/org/apache/gluten/backendsapi/velox/VeloxBackend.scala
b/backends-velox/src/main/scala/org/apache/gluten/backendsapi/velox/VeloxBackend.scala
index 91f20dbc77..945e245969 100644
---
a/backends-velox/src/main/scala/org/apache/gluten/backendsapi/velox/VeloxBackend.scala
+++
b/backends-velox/src/main/scala/org/apache/gluten/backendsapi/velox/VeloxBackend.scala
@@ -18,7 +18,6 @@ package org.apache.gluten.backendsapi.velox
import org.apache.gluten.GlutenBuildInfo._
import org.apache.gluten.backendsapi._
-import org.apache.gluten.component.Component.BuildInfo
import org.apache.gluten.config.{GlutenConfig, VeloxConfig}
import org.apache.gluten.exception.GlutenNotSupportException
import org.apache.gluten.execution.ValidationResult
@@ -57,8 +56,12 @@ class VeloxBackend extends SubstraitBackend {
import VeloxBackend._
override def name(): String = VeloxBackend.BACKEND_NAME
- override def buildInfo(): BuildInfo =
- BuildInfo("Velox", VELOX_BRANCH, VELOX_REVISION, VELOX_REVISION_TIME)
+ override def info(): Map[String, String] = {
+ Map(
+ "velox_branch" -> VELOX_BRANCH,
+ "velox_revision" -> VELOX_REVISION,
+ "velox_revisionTime" -> VELOX_REVISION_TIME)
+ }
override def iteratorApi(): IteratorApi = new VeloxIteratorApi
override def sparkPlanExecApi(): SparkPlanExecApi = new VeloxSparkPlanExecApi
override def transformerApi(): TransformerApi = new VeloxTransformerApi
diff --git a/gluten-core/src/main/scala/org/apache/gluten/GlutenPlugin.scala
b/gluten-core/src/main/scala/org/apache/gluten/GlutenPlugin.scala
index e508570eeb..d9a023c166 100644
--- a/gluten-core/src/main/scala/org/apache/gluten/GlutenPlugin.scala
+++ b/gluten-core/src/main/scala/org/apache/gluten/GlutenPlugin.scala
@@ -35,8 +35,6 @@ import org.apache.spark.util.SparkResourceUtil
import java.util
import java.util.Collections
-import scala.collection.mutable
-
class GlutenPlugin extends SparkPlugin {
override def driverPlugin(): DriverPlugin = {
new GlutenDriverPlugin()
@@ -157,17 +155,14 @@ private object GlutenDriverPlugin extends Logging {
}
private def printComponentInfo(components: Seq[Component]): Unit = {
- val componentInfo = mutable.LinkedHashMap[String, String]()
- componentInfo.put("Components",
components.map(_.buildInfo().name).mkString(", "))
- components.foreach {
- comp =>
- val buildInfo = comp.buildInfo()
- componentInfo.put(s"Component ${buildInfo.name} Branch",
buildInfo.branch)
- componentInfo.put(s"Component ${buildInfo.name} Revision",
buildInfo.revision)
- componentInfo.put(s"Component ${buildInfo.name} Revision Time",
buildInfo.revisionTime)
- }
- val loggingInfo = componentInfo
- .map { case (name, value) => s"$name: $value" }
+ val loggingInfo = components
+ .map {
+ c =>
+ val infoStr =
+ if (c.info().isEmpty) ""
+ else "\n" + c.info().map { case (k, v) => s" $k = $v"
}.mkString("\n")
+ s"Component ${c.name()}$infoStr"
+ }
.mkString(
"Gluten
components:\n==============================================================\n",
"\n",
diff --git
a/gluten-core/src/main/scala/org/apache/gluten/component/Component.scala
b/gluten-core/src/main/scala/org/apache/gluten/component/Component.scala
index 29139436a1..7e688d6e70 100644
--- a/gluten-core/src/main/scala/org/apache/gluten/component/Component.scala
+++ b/gluten-core/src/main/scala/org/apache/gluten/component/Component.scala
@@ -62,7 +62,7 @@ trait Component {
/** Base information. */
def name(): String
- def buildInfo(): BuildInfo
+ def info(): Map[String, String] = Map.empty
def dependencies(): Seq[Class[_ <: Component]]
/** Spark listeners. */
diff --git
a/gluten-core/src/test/scala/org/apache/gluten/component/ComponentSuite.scala
b/gluten-core/src/test/scala/org/apache/gluten/component/ComponentSuite.scala
index 79bbb37bba..54daaf7024 100644
---
a/gluten-core/src/test/scala/org/apache/gluten/component/ComponentSuite.scala
+++
b/gluten-core/src/test/scala/org/apache/gluten/component/ComponentSuite.scala
@@ -185,9 +185,6 @@ object ComponentSuite {
with DependencyBuilder
with CompatibilityHelper {
- override def buildInfo(): Component.BuildInfo =
- Component.BuildInfo(name, "N/A", "N/A", "N/A")
-
/** Query planner rules. */
override def injectRules(injector: Injector): Unit = {}
}
@@ -196,9 +193,6 @@ object ComponentSuite {
extends Backend
with CompatibilityHelper {
- override def buildInfo(): Component.BuildInfo =
- Component.BuildInfo(name, "N/A", "N/A", "N/A")
-
/** Query planner rules. */
override def injectRules(injector: Injector): Unit = {}
}
diff --git
a/gluten-core/src/test/scala/org/apache/gluten/component/WithDummyBackend.scala
b/gluten-core/src/test/scala/org/apache/gluten/component/WithDummyBackend.scala
index d03385366d..bb6c10ee60 100644
---
a/gluten-core/src/test/scala/org/apache/gluten/component/WithDummyBackend.scala
+++
b/gluten-core/src/test/scala/org/apache/gluten/component/WithDummyBackend.scala
@@ -38,8 +38,6 @@ trait WithDummyBackend extends BeforeAndAfterAll {
object WithDummyBackend {
object DummyBackend extends Backend {
override def name(): String = "dummy-backend"
- override def buildInfo(): Component.BuildInfo =
- Component.BuildInfo("DUMMY_BACKEND", "N/A", "N/A", "N/A")
override def injectRules(injector: Injector): Unit = {}
override def costers(): Seq[LongCoster] = Seq(new LongCoster {
override def kind(): LongCostModel.Kind = Legacy
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]