This is an automated email from the ASF dual-hosted git repository.

felixybw 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 492b4ebd4d [GLUTEN-10334] Share the results compare the spark version 
(#10335)
492b4ebd4d is described below

commit 492b4ebd4d4501118f278d077579718d1c2fb571
Author: Jiaan Geng <[email protected]>
AuthorDate: Wed Aug 6 13:31:49 2025 +0800

    [GLUTEN-10334] Share the results compare the spark version (#10335)
    
    This PR proposes to share the results compare the spark version.
---
 .../apache/gluten/extension/columnar/transition/Convention.scala | 9 +--------
 .../apache/gluten/extension/columnar/transition/package.scala    | 5 +----
 .../spark/sql/execution/adaptive/GlutenCostEvaluator.scala       | 5 +----
 .../src/main/scala/org/apache/spark/util/SparkPlanUtil.scala     | 6 ++----
 .../src/main/scala/org/apache/spark/util/SparkTaskUtil.scala     | 4 ++--
 .../src/main/scala/org/apache/spark/util/SparkVersionUtil.scala  | 6 ++++++
 6 files changed, 13 insertions(+), 22 deletions(-)

diff --git 
a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/transition/Convention.scala
 
b/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/transition/Convention.scala
index 8ab66bf561..a00e2b5106 100644
--- 
a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/transition/Convention.scala
+++ 
b/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/transition/Convention.scala
@@ -169,10 +169,9 @@ object Convention {
 
   trait KnownRowTypeForSpark33OrLater extends KnownRowType {
     this: SparkPlan =>
-    import KnownRowTypeForSpark33OrLater._
 
     final override def rowType(): RowType = {
-      if (lteSpark32) {
+      if (SparkVersionUtil.lteSpark32) {
         // It's known that in Spark 3.2, one Spark plan node is considered 
either only having
         // row-based support or only having columnar support at a time.
         // Hence, if the plan supports columnar output, we'd disable its 
row-based support.
@@ -190,10 +189,4 @@ object Convention {
 
     def rowType0(): RowType
   }
-
-  object KnownRowTypeForSpark33OrLater {
-    private val lteSpark32: Boolean = {
-      SparkVersionUtil.compareMajorMinorVersion((3, 2)) <= 0
-    }
-  }
 }
diff --git 
a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/transition/package.scala
 
b/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/transition/package.scala
index 56f3cc612f..a10c41cbca 100644
--- 
a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/transition/package.scala
+++ 
b/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/transition/package.scala
@@ -27,9 +27,6 @@ import org.apache.spark.sql.execution.debug.DebugExec
 import org.apache.spark.util.SparkVersionUtil
 
 package object transition {
-  private val gteSpark33: Boolean = {
-    SparkVersionUtil.compareMajorMinorVersion((3, 3)) >= 0
-  }
 
   type TransitionGraph = FloydWarshallGraph[TransitionGraph.Vertex, Transition]
   // These 5 plan operators (as of Spark 3.5) are operators that have the
@@ -38,7 +35,7 @@ package object transition {
   // Extend this list in shim layer once Spark has more.
   def canPropagateConvention(plan: SparkPlan): Boolean = plan match {
     case p: DebugExec => true
-    case p: UnionExec if gteSpark33 =>
+    case p: UnionExec if SparkVersionUtil.gteSpark33 =>
       true
     case p: AQEShuffleReadExec => true
     case p: InputAdapter => true
diff --git 
a/gluten-core/src/main/scala/org/apache/spark/sql/execution/adaptive/GlutenCostEvaluator.scala
 
b/gluten-core/src/main/scala/org/apache/spark/sql/execution/adaptive/GlutenCostEvaluator.scala
index e4204770f4..f53a80639a 100644
--- 
a/gluten-core/src/main/scala/org/apache/spark/sql/execution/adaptive/GlutenCostEvaluator.scala
+++ 
b/gluten-core/src/main/scala/org/apache/spark/sql/execution/adaptive/GlutenCostEvaluator.scala
@@ -28,12 +28,9 @@ import org.apache.spark.util.{SparkVersionUtil, Utils}
  * Since https://github.com/apache/incubator-gluten/pull/6143.
  */
 case class GlutenCostEvaluator() extends CostEvaluator with SQLConfHelper {
-  private val ltSpark33: Boolean = {
-    SparkVersionUtil.compareMajorMinorVersion((3, 3)) < 0
-  }
 
   private val vanillaCostEvaluator: CostEvaluator = {
-    if (ltSpark33) {
+    if (SparkVersionUtil.lteSpark32) {
       val clazz = 
Utils.classForName("org.apache.spark.sql.execution.adaptive.SimpleCostEvaluator$")
       clazz.getDeclaredField("MODULE$").get(null).asInstanceOf[CostEvaluator]
     } else {
diff --git 
a/gluten-core/src/main/scala/org/apache/spark/util/SparkPlanUtil.scala 
b/gluten-core/src/main/scala/org/apache/spark/util/SparkPlanUtil.scala
index 4f5c213e5a..5ce2addafb 100644
--- a/gluten-core/src/main/scala/org/apache/spark/util/SparkPlanUtil.scala
+++ b/gluten-core/src/main/scala/org/apache/spark/util/SparkPlanUtil.scala
@@ -21,11 +21,9 @@ import 
org.apache.spark.sql.execution.command.DataWritingCommandExec
 import org.apache.spark.sql.internal.SQLConf
 
 object SparkPlanUtil {
-  private val lteSpark32 = SparkVersionUtil.compareMajorMinorVersion((3, 2)) 
<= 0
-  private val lteSpark33 = SparkVersionUtil.compareMajorMinorVersion((3, 3)) 
<= 0
 
   def supportsRowBased(plan: SparkPlan): Boolean = {
-    if (lteSpark32) {
+    if (SparkVersionUtil.lteSpark32) {
       return !plan.supportsColumnar
     }
 
@@ -34,7 +32,7 @@ object SparkPlanUtil {
   }
 
   def isPlannedV1Write(plan: DataWritingCommandExec): Boolean = {
-    if (lteSpark33) {
+    if (SparkVersionUtil.lteSpark33) {
       return false
     }
 
diff --git 
a/gluten-core/src/main/scala/org/apache/spark/util/SparkTaskUtil.scala 
b/gluten-core/src/main/scala/org/apache/spark/util/SparkTaskUtil.scala
index 02df5e224f..afbc03dd12 100644
--- a/gluten-core/src/main/scala/org/apache/spark/util/SparkTaskUtil.scala
+++ b/gluten-core/src/main/scala/org/apache/spark/util/SparkTaskUtil.scala
@@ -64,7 +64,7 @@ object SparkTaskUtil {
       ctors.head
     }
 
-    if (SparkVersionUtil.compareMajorMinorVersion((3, 2)) <= 0) {
+    if (SparkVersionUtil.lteSpark32) {
       return ctor
         .newInstance(
           stageId,
@@ -81,7 +81,7 @@ object SparkTaskUtil {
         .asInstanceOf[TaskContext]
     }
 
-    if (SparkVersionUtil.compareMajorMinorVersion((3, 3)) == 0) {
+    if (SparkVersionUtil.eqSpark33) {
       return ctor
         .newInstance(
           stageId,
diff --git 
a/gluten-core/src/main/scala/org/apache/spark/util/SparkVersionUtil.scala 
b/gluten-core/src/main/scala/org/apache/spark/util/SparkVersionUtil.scala
index d1febeaa9c..49da44f257 100644
--- a/gluten-core/src/main/scala/org/apache/spark/util/SparkVersionUtil.scala
+++ b/gluten-core/src/main/scala/org/apache/spark/util/SparkVersionUtil.scala
@@ -17,6 +17,12 @@
 package org.apache.spark.util
 
 object SparkVersionUtil {
+  val lteSpark32: Boolean = compareMajorMinorVersion((3, 2)) <= 0
+  private val comparedWithSpark33 = compareMajorMinorVersion((3, 3))
+  val eqSpark33: Boolean = comparedWithSpark33 == 0
+  val lteSpark33: Boolean = lteSpark32 || eqSpark33
+  val gteSpark33: Boolean = comparedWithSpark33 >= 0
+
   // Returns X. X < 0 if one < other, x == 0 if one == other, x > 0 if one > 
other.
   def compareMajorMinorVersion(other: (Int, Int)): Int = {
     val (major, minor) = 
VersionUtils.majorMinorVersion(org.apache.spark.SPARK_VERSION)


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to