Skip to content

Commit 1a6cd98

Browse files
authored
test: [Spark 4.1.1] unignore SPARK-52921 union partitioning tests (#4195)
1 parent 47d8fbb commit 1a6cd98

1 file changed

Lines changed: 55 additions & 31 deletions

File tree

dev/diffs/4.1.1.diff

Lines changed: 55 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -535,46 +535,70 @@ index ed182322aec..1ae6afa686a 100644
535535
spark.range(100).write.saveAsTable(s"$dbName.$table2Name")
536536

537537
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSetOperationsSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSetOperationsSuite.scala
538-
index 93ff7becaec..7b2871cc656 100644
538+
index 93ff7becaec..87537a25b3b 100644
539539
--- a/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSetOperationsSuite.scala
540540
+++ b/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSetOperationsSuite.scala
541-
@@ -20,6 +20,7 @@ package org.apache.spark.sql
542-
import java.sql.{Date, Timestamp}
543-
import java.util.Locale
544-
545-
+import org.apache.spark.sql.IgnoreComet
541+
@@ -23,10 +23,11 @@ import java.util.Locale
546542
import org.apache.spark.sql.catalyst.optimizer.RemoveNoopUnion
547543
import org.apache.spark.sql.catalyst.plans.logical.Union
548544
import org.apache.spark.sql.catalyst.plans.physical.UnknownPartitioning
549-
@@ -1511,7 +1512,8 @@ class DataFrameSetOperationsSuite extends QueryTest
550-
}
551-
}
545+
+import org.apache.spark.sql.comet.CometUnionExec
546+
import org.apache.spark.sql.execution.{SparkPlan, UnionExec}
547+
import org.apache.spark.sql.execution.adaptive.AdaptiveSparkPlanHelper
548+
import org.apache.spark.sql.execution.columnar.InMemoryTableScanExec
549+
-import org.apache.spark.sql.execution.exchange.{ReusedExchangeExec, ShuffleExchangeExec}
550+
+import org.apache.spark.sql.execution.exchange.{ReusedExchangeExec, ShuffleExchangeLike}
551+
import org.apache.spark.sql.functions._
552+
import org.apache.spark.sql.internal.SQLConf
553+
import org.apache.spark.sql.test.{ExamplePoint, ExamplePointUDT, SharedSparkSession, SQLTestData}
554+
@@ -1519,11 +1520,12 @@ class DataFrameSetOperationsSuite extends QueryTest
555+
val union = df1.repartition($"a").union(df2.repartition($"a"))
556+
val unionExec = union.queryExecution.executedPlan.collect {
557+
case u: UnionExec => u
558+
+ case u: CometUnionExec => u
559+
}
560+
assert(unionExec.size == 1)
552561

553-
- test("SPARK-52921: union partitioning - reused shuffle") {
554-
+ test("SPARK-52921: union partitioning - reused shuffle",
555-
+ IgnoreComet("https://github.com/apache/datafusion-comet/issues/4098")) {
556-
withSQLConf(SQLConf.ADAPTIVE_EXECUTION_ENABLED.key -> "false") {
557-
val df1 = Seq((1, 2, 4), (1, 3, 5), (2, 2, 3), (2, 4, 5)).toDF("a", "b", "c")
558-
val df2 = Seq((1, 2, 4), (1, 3, 5), (2, 2, 3), (2, 4, 5)).toDF("a", "b", "c")
559-
@@ -1538,7 +1540,8 @@ class DataFrameSetOperationsSuite extends QueryTest
560-
}
561-
}
562+
val shuffle = df1.repartition($"a").queryExecution.executedPlan.collect {
563+
- case s: ShuffleExchangeExec => s
564+
+ case s: ShuffleExchangeLike => s
565+
}
566+
assert(shuffle.size == 1)
562567

563-
- test("SPARK-52921: union partitioning - semantic equality") {
564-
+ test("SPARK-52921: union partitioning - semantic equality",
565-
+ IgnoreComet("https://github.com/apache/datafusion-comet/issues/4098")) {
566-
val df1 = Seq((1, 2, 4), (1, 3, 5), (2, 2, 3), (2, 4, 5)).toDF("a", "b", "c")
567-
val df2 = Seq((4, 1, 5), (2, 4, 6), (1, 4, 2), (3, 5, 1)).toDF("d", "e", "f")
568+
@@ -1554,11 +1556,12 @@ class DataFrameSetOperationsSuite extends QueryTest
569+
val union = df1.repartition($"a").union(df2.repartition($"d"))
570+
val unionExec = union.queryExecution.executedPlan.collect {
571+
case u: UnionExec => u
572+
+ case u: CometUnionExec => u
573+
}
574+
assert(unionExec.size == 1)
568575

569-
@@ -1589,7 +1592,8 @@ class DataFrameSetOperationsSuite extends QueryTest
570-
}
571-
}
576+
val shuffle = df1.repartition($"a").queryExecution.executedPlan.collect {
577+
- case s: ShuffleExchangeExec => s
578+
+ case s: ShuffleExchangeLike => s
579+
}
580+
assert(shuffle.size == 1)
581+
582+
@@ -1573,10 +1576,10 @@ class DataFrameSetOperationsSuite extends QueryTest
583+
// Avoid unnecessary shuffle if union output partitioning is enabled
584+
val shuffledUnion = union.repartition($"a")
585+
val shuffleNumBefore = union.queryExecution.executedPlan.collect {
586+
- case s: ShuffleExchangeExec => s
587+
+ case s: ShuffleExchangeLike => s
588+
}
589+
val shuffleNumAfter = shuffledUnion.queryExecution.executedPlan.collect {
590+
- case s: ShuffleExchangeExec => s
591+
+ case s: ShuffleExchangeLike => s
592+
}
572593

573-
- test("SPARK-52921: union partitioning - range partitioning") {
574-
+ test("SPARK-52921: union partitioning - range partitioning",
575-
+ IgnoreComet("https://github.com/apache/datafusion-comet/issues/4098")) {
576-
val df1 = Seq((1, 2, 4), (1, 3, 5), (2, 2, 3), (2, 4, 5)).toDF("a", "b", "c")
577-
val df2 = Seq((4, 1, 5), (2, 4, 6), (1, 4, 2), (3, 5, 1)).toDF("d", "e", "f")
594+
if (enabled) {
595+
@@ -1605,6 +1608,7 @@ class DataFrameSetOperationsSuite extends QueryTest
596+
val union = df1.repartitionByRange($"a").union(df2.repartitionByRange($"d"))
597+
val unionExec = union.queryExecution.executedPlan.collect {
598+
case u: UnionExec => u
599+
+ case u: CometUnionExec => u
600+
}
601+
assert(unionExec.size == 1)
578602

579603
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala
580604
index 5b88eeefeca..d4f07bc182a 100644

0 commit comments

Comments
 (0)