This is an automated email from the ASF dual-hosted git repository.
baibaichen pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gluten.git
The following commit(s) were added to refs/heads/main by this push:
new 197c985ce0 [GLUTEN-13175][VL] Re-enable the Spark 4.2 DELETE tests in
GlutenGroupBasedDeleteFromTableSuite (#13244)
197c985ce0 is described below
commit 197c985ce0a1bd2ce9208d60da8c1bef8880599a
Author: Akshay Tayal <[email protected]>
AuthorDate: Wed Oct 21 00:04:55 2026 -0700
[GLUTEN-13175][VL] Re-enable the Spark 4.2 DELETE tests in
GlutenGroupBasedDeleteFromTableSuite (#13244)
Re-enable the 12 DELETE tests in GlutenGroupBasedDeleteFromTableSuite
disabled by #13163. Spark's own tests use
5 shuffle partitions; with Gluten's 1, AQE replaces the ReplaceDataExec
input with an empty
relation when no rows are copied and numDeletedRows becomes -1 (vanilla
Spark too).
Co-authored-by: Akshay Tayal <[email protected]>
Co-authored-by: Copilot <[email protected]>
Copilot-Session: 3a1d1e30-b32c-45b1-9f0e-d7aa4654eab9
---
.../gluten/utils/velox/VeloxTestSettings.scala | 26 ----------------------
.../GlutenGroupBasedDeleteFromTableSuite.scala | 9 +++++++-
2 files changed, 8 insertions(+), 27 deletions(-)
diff --git
a/gluten-ut/spark42/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala
b/gluten-ut/spark42/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala
index 43d3bf355d..91ec7d1137 100644
---
a/gluten-ut/spark42/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala
+++
b/gluten-ut/spark42/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala
@@ -1315,32 +1315,6 @@ class VeloxTestSettings extends BackendTestSettings {
enableSuite[GlutenSparkSessionExtensionSuite]
.includeGlutenTest("customColumnarOp")
enableSuite[GlutenGroupBasedDeleteFromTableSuite]
- .exclude("delete from empty tables") // GLUTEN-12569 Spark 4.2 UT
enablement (CI-confirmed)
- .exclude(
- "delete from table with table constraints"
- ) // GLUTEN-12569 Spark 4.2 UT enablement (CI-confirmed)
- .exclude("delete with EXISTS subquery") // GLUTEN-12569 Spark 4.2 UT
enablement (CI-confirmed)
- .exclude(
- "delete with NOT EXISTS subquery"
- ) // GLUTEN-12569 Spark 4.2 UT enablement (CI-confirmed)
- .exclude("delete with NOT IN predicates") // GLUTEN-12569 Spark 4.2 UT
enablement (CI-confirmed)
- .exclude("delete with NOT IN subqueries") // GLUTEN-12569 Spark 4.2 UT
enablement (CI-confirmed)
- .exclude(
- "delete with NULL condition on non-null column"
- ) // GLUTEN-12569 Spark 4.2 UT enablement (CI-confirmed)
- .exclude(
- "delete with NULL equality on VOID column"
- ) // GLUTEN-12569 Spark 4.2 UT enablement (CI-confirmed)
- .exclude("delete with aliases") // GLUTEN-12569 Spark 4.2 UT enablement
(CI-confirmed)
- .exclude(
- "delete with conditions on nested columns"
- ) // GLUTEN-12569 Spark 4.2 UT enablement (CI-confirmed)
- .exclude(
- "delete with literal false condition"
- ) // GLUTEN-12569 Spark 4.2 UT enablement (CI-confirmed)
- .exclude(
- "delete with unsupported predicates cannot be converted into delete with
filters"
- ) // GLUTEN-12569 Spark 4.2 UT enablement (CI-confirmed)
enableSuite[GlutenDeltaBasedDeleteFromTableSuite]
enableSuite[GlutenDataFrameToSchemaSuite]
enableSuite[GlutenDatasetUnpivotSuite]
diff --git
a/gluten-ut/spark42/src/test/scala/org/apache/spark/sql/connector/GlutenGroupBasedDeleteFromTableSuite.scala
b/gluten-ut/spark42/src/test/scala/org/apache/spark/sql/connector/GlutenGroupBasedDeleteFromTableSuite.scala
index 00363609a0..9d4fb3b8f8 100644
---
a/gluten-ut/spark42/src/test/scala/org/apache/spark/sql/connector/GlutenGroupBasedDeleteFromTableSuite.scala
+++
b/gluten-ut/spark42/src/test/scala/org/apache/spark/sql/connector/GlutenGroupBasedDeleteFromTableSuite.scala
@@ -21,7 +21,14 @@ import org.apache.spark.sql.GlutenSQLTestsBaseTrait
class GlutenGroupBasedDeleteFromTableSuite
extends GroupBasedDeleteFromTableSuite
- with GlutenSQLTestsBaseTrait {}
+ with GlutenSQLTestsBaseTrait {
+ // Spark's own tests use 5 shuffle partitions. With 1, the write's
clustering by _partition is a
+ // SinglePartition shuffle, so AQE may replace the input of ReplaceDataExec
with an EmptyRelation
+ // when no rows are copied. That hides the scan used to compute
numDeletedRows, which becomes -1.
+ override def sparkConf: SparkConf = {
+ super.sparkConf.set("spark.sql.shuffle.partitions", "5")
+ }
+}
class GlutenDeleteFromTableSuite
extends GroupBasedDeleteFromTableSuite
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]