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]

Reply via email to