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 d815b51334 [VL] Fix missing tag after CollapseProjectExecTransformer 
rule (#9716)
d815b51334 is described below

commit d815b51334a870160f6fb21ad47a021816ff5694
Author: Boxuan Li <[email protected]>
AuthorDate: Wed May 21 12:48:51 2025 -0700

    [VL] Fix missing tag after CollapseProjectExecTransformer rule (#9716)
---
 .../gluten/extension/columnar/CollapseProjectExecTransformer.scala | 4 ++++
 .../sql/extension/GlutenCollapseProjectExecTransformerSuite.scala  | 7 +++++++
 2 files changed, 11 insertions(+)

diff --git 
a/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/CollapseProjectExecTransformer.scala
 
b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/CollapseProjectExecTransformer.scala
index 39c1d650ae..0b76d9cf13 100644
--- 
a/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/CollapseProjectExecTransformer.scala
+++ 
b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/CollapseProjectExecTransformer.scala
@@ -42,6 +42,10 @@ object CollapseProjectExecTransformer extends 
Rule[SparkPlan] {
         val validationResult = collapsedProject.doValidate()
         if (validationResult.ok()) {
           logDebug(s"Collapse project $p1 and $p2.")
+          // copy tags from p1 first
+          collapsedProject.copyTagsFrom(p1)
+          // if p1 has no tags, copy p2's tags
+          collapsedProject.copyTagsFrom(p2)
           collapsedProject
         } else {
           logDebug(s"Failed to collapse project, due to 
${validationResult.reason()}")
diff --git 
a/gluten-ut/spark35/src/test/scala/org/apache/spark/sql/extension/GlutenCollapseProjectExecTransformerSuite.scala
 
b/gluten-ut/spark35/src/test/scala/org/apache/spark/sql/extension/GlutenCollapseProjectExecTransformerSuite.scala
index 87a4ce14d4..49e4187bab 100644
--- 
a/gluten-ut/spark35/src/test/scala/org/apache/spark/sql/extension/GlutenCollapseProjectExecTransformerSuite.scala
+++ 
b/gluten-ut/spark35/src/test/scala/org/apache/spark/sql/extension/GlutenCollapseProjectExecTransformerSuite.scala
@@ -21,6 +21,7 @@ import org.apache.gluten.execution.ProjectExecTransformer
 
 import org.apache.spark.sql.GlutenSQLTestsTrait
 import org.apache.spark.sql.Row
+import org.apache.spark.sql.execution.SparkPlan
 
 class GlutenCollapseProjectExecTransformerSuite extends GlutenSQLTestsTrait {
 
@@ -112,6 +113,12 @@ class GlutenCollapseProjectExecTransformerSuite extends 
GlutenSQLTestsTrait {
                 case _ => false
               } == !collapsed
             )
+            if (collapsed) {
+              val projectPlan = getExecutedPlan(df).collect {
+                case plan: ProjectExecTransformer => plan
+              }.head
+              
assert(projectPlan.getTagValue(SparkPlan.LOGICAL_PLAN_TAG).isDefined)
+            }
           }
       }
     }


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

Reply via email to