This is an automated email from the ASF dual-hosted git repository.
changchen 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 0fbec927b4 [GLUTEN-11550][UT] Add
GlutenTestSetWithSystemPropertyTrait, enable 6 suites, remove 7
TestHiveSingleton suites, fix JobTagging flaky test (#11847)
0fbec927b4 is described below
commit 0fbec927b43d62beded4c7046ad299d2abba0a07
Author: Chang Chen <[email protected]>
AuthorDate: Fri Apr 10 11:14:16 2026 +0800
[GLUTEN-11550][UT] Add GlutenTestSetWithSystemPropertyTrait, enable 6
suites, remove 7 TestHiveSingleton suites, fix JobTagging flaky test (#11847)
* [GLUTEN-11550][UT] Add GlutenTestSetWithSystemPropertyTrait and enable 6
suites
Add a reusable trait for test suites whose parent creates per-test
SparkContext/SparkSession (via LocalSparkContext/LocalSparkSession).
It injects GlutenPlugin config via system properties so per-test
sessions inherit it, avoiding shared session conflicts.
Enable 6 suites by switching to this trait:
- GlutenSQLExecutionSuite (SQLExecutionSuite: new SparkContext internally)
- GlutenSQLJsonProtocolSuite (SQLJsonProtocolSuite with LocalSparkSession)
- GlutenShufflePartitionsUtilSuite (ShufflePartitionsUtilSuite with
LocalSparkContext)
- GlutenExternalAppendOnlyUnsafeRowArraySuite (with LocalSparkContext)
- GlutenUnsafeRowSerializerSuite (UnsafeRowSerializerSuite with
LocalSparkSession)
- GlutenSparkSessionJobTaggingAndCancellationSuite (with LocalSparkContext)
Co-authored-by: Copilot <[email protected]>
* [GLUTEN-11550][UT] Remove TestHiveSingleton suites that cannot load
GlutenPlugin
Remove 7 test suites (spark40 + spark41) that extend TestHiveSingleton.
TestHiveSingleton.spark (protected val) conflicts with Gluten test traits'
spark (implicit protected def), making it impossible to load GlutenPlugin.
The non-Hive variants (e.g. GlutenBucketedReadWithoutHiveSupportSuite)
are already enabled and cover the same functionality.
Removed suites:
- GlutenBucketedReadWithHiveSupportSuite
- GlutenBucketedWriteWithHiveSupportSuite
- GlutenDisableUnnecessaryBucketedScanWithHiveSupportSuite
- GlutenCommitFailureTestRelationSuite
- GlutenJsonHadoopFsRelationSuite
- GlutenParquetHadoopFsRelationSuite
- GlutenSimpleTextHadoopFsRelationSuite
Co-authored-by: Copilot <[email protected]>
* [GLUTEN-11550][UT] Fix JobTagging flaky test with fresh thread pool
The original test uses ExecutionContext.global whose ForkJoinPool reuses
threads created long before addTag(). InheritableThreadLocal (used by
managedJobTags) only copies values at thread creation time, so reused
threads see an empty tag map. This causes withSessionTagsApplied to not
attach the user tag to the job, making cancelJobsWithTagWithFuture
return empty.
Fix: testGluten override that creates a fresh SingleThreadExecutor AFTER
addTag(), ensuring the new thread inherits InheritableThreadLocal values.
Co-authored-by: Copilot <[email protected]>
---------
Co-authored-by: Copilot <[email protected]>
---
.../sql/GlutenTestSetWithSystemPropertyTrait.scala | 48 ++++++++++++++++
gluten-ut/excluded-spark-uts.md | 3 +-
.../gluten/utils/velox/VeloxTestSettings.scala | 18 ++----
...parkSessionJobTaggingAndCancellationSuite.scala | 67 +++++++++++++++++++++-
...utenExternalAppendOnlyUnsafeRowArraySuite.scala | 4 +-
.../sql/execution/GlutenSQLExecutionSuite.scala | 4 +-
.../sql/execution/GlutenSQLJsonProtocolSuite.scala | 6 +-
.../GlutenShufflePartitionsUtilSuite.scala | 6 +-
.../execution/GlutenUnsafeRowSerializerSuite.scala | 6 +-
.../GlutenBucketedReadWithHiveSupportSuite.scala | 23 --------
.../GlutenBucketedWriteWithHiveSupportSuite.scala | 23 --------
.../GlutenCommitFailureTestRelationSuite.scala | 23 --------
...necessaryBucketedScanWithHiveSupportSuite.scala | 23 --------
.../sources/GlutenJsonHadoopFsRelationSuite.scala | 23 --------
.../GlutenParquetHadoopFsRelationSuite.scala | 23 --------
.../GlutenSimpleTextHadoopFsRelationSuite.scala | 23 --------
.../gluten/utils/velox/VeloxTestSettings.scala | 18 ++----
...parkSessionJobTaggingAndCancellationSuite.scala | 67 +++++++++++++++++++++-
...utenExternalAppendOnlyUnsafeRowArraySuite.scala | 4 +-
.../sql/execution/GlutenSQLExecutionSuite.scala | 4 +-
.../sql/execution/GlutenSQLJsonProtocolSuite.scala | 6 +-
.../GlutenShufflePartitionsUtilSuite.scala | 6 +-
.../execution/GlutenUnsafeRowSerializerSuite.scala | 6 +-
.../GlutenBucketedReadWithHiveSupportSuite.scala | 23 --------
.../GlutenBucketedWriteWithHiveSupportSuite.scala | 23 --------
.../GlutenCommitFailureTestRelationSuite.scala | 23 --------
...necessaryBucketedScanWithHiveSupportSuite.scala | 23 --------
.../sources/GlutenJsonHadoopFsRelationSuite.scala | 23 --------
.../GlutenParquetHadoopFsRelationSuite.scala | 23 --------
.../GlutenSimpleTextHadoopFsRelationSuite.scala | 23 --------
30 files changed, 225 insertions(+), 370 deletions(-)
diff --git
a/gluten-ut/common/src/test/scala/org/apache/spark/sql/GlutenTestSetWithSystemPropertyTrait.scala
b/gluten-ut/common/src/test/scala/org/apache/spark/sql/GlutenTestSetWithSystemPropertyTrait.scala
new file mode 100644
index 0000000000..0b38f1c016
--- /dev/null
+++
b/gluten-ut/common/src/test/scala/org/apache/spark/sql/GlutenTestSetWithSystemPropertyTrait.scala
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.spark.sql
+
+/**
+ * A test trait for suites whose parent creates per-test
SparkContext/SparkSession (via
+ * LocalSparkContext, LocalSparkSession, or direct `new SparkContext`).
+ *
+ * Injects GlutenPlugin config via system properties so per-test sessions
inherit it. SparkConf
+ * reads system properties prefixed with "spark." as defaults during
construction.
+ *
+ * Do NOT use GlutenTestsTrait or GlutenSQLTestsTrait for these suites -- they
create a shared
+ * SparkSession in beforeAll() that conflicts with per-test SparkContext
creation.
+ */
+trait GlutenTestSetWithSystemPropertyTrait extends GlutenTestsCommonTrait {
+
+ override def beforeAll(): Unit = {
+ System.setProperty("spark.plugins", "org.apache.gluten.GlutenPlugin")
+ System.setProperty("spark.memory.offHeap.enabled", "true")
+ System.setProperty("spark.memory.offHeap.size", "1024MB")
+ System.setProperty(
+ "spark.shuffle.manager",
+ "org.apache.spark.shuffle.sort.ColumnarShuffleManager")
+ super.beforeAll()
+ }
+
+ override def afterAll(): Unit = {
+ super.afterAll()
+ System.clearProperty("spark.plugins")
+ System.clearProperty("spark.memory.offHeap.enabled")
+ System.clearProperty("spark.memory.offHeap.size")
+ System.clearProperty("spark.shuffle.manager")
+ }
+}
diff --git a/gluten-ut/excluded-spark-uts.md b/gluten-ut/excluded-spark-uts.md
index 598eca6493..26527bcce1 100644
--- a/gluten-ut/excluded-spark-uts.md
+++ b/gluten-ut/excluded-spark-uts.md
@@ -3,4 +3,5 @@
| Suites
| Versions | Reason to exclude
[...]
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[...]
-|
org.apache.spark.sql.SingleLevelAggregateHashMapSuite<br/>org.apache.spark.sql.TwoLevelAggregateHashMapSuite<br/>org.apache.spark.sql.TwoLevelAggregateHashMapWithVectorizedMapSuite
| 4.0, 4.1 | This UTs is similar to `DataFrameAggregateSuite`.<br/>The only
difference being that it contains variation for Spark codegen enabled and
disabled and enabling single level or two level aggregate hash-maps which is
also specific to Spark Aggregate implementation.<br/>We already run
`GlutenDataFra [...]
\ No newline at end of file
+|
org.apache.spark.sql.SingleLevelAggregateHashMapSuite<br/>org.apache.spark.sql.TwoLevelAggregateHashMapSuite<br/>org.apache.spark.sql.TwoLevelAggregateHashMapWithVectorizedMapSuite
| 4.0, 4.1 | This UTs is similar to `DataFrameAggregateSuite`.<br/>The only
difference being that it contains variation for Spark codegen enabled and
disabled and enabling single level or two level aggregate hash-maps which is
also specific to Spark Aggregate implementation.<br/>We already run
`GlutenDataFra [...]
+|
org.apache.spark.sql.sources.GlutenBucketedReadWithHiveSupportSuite<br/>org.apache.spark.sql.sources.GlutenBucketedWriteWithHiveSupportSuite<br/>org.apache.spark.sql.sources.GlutenDisableUnnecessaryBucketedScanWithHiveSupportSuite<br/>org.apache.spark.sql.sources.GlutenCommitFailureTestRelationSuite<br/>org.apache.spark.sql.sources.GlutenJsonHadoopFsRelationSuite<br/>org.apache.spark.sql.sources.GlutenParquetHadoopFsRelationSuite<br/>org.apache.spark.sql.sources.GlutenSimpleTextHadoopF
[...]
\ No newline at end of file
diff --git
a/gluten-ut/spark40/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala
b/gluten-ut/spark40/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala
index 80a33021d1..a70ec62871 100644
---
a/gluten-ut/spark40/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala
+++
b/gluten-ut/spark40/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala
@@ -680,7 +680,7 @@ class VeloxTestSettings extends BackendTestSettings {
// TODO: 4.x enableSuite[GlutenDataSourceScanExecRedactionSuite] // 2
failures
// TODO: 4.x enableSuite[GlutenDataSourceV2ScanExecRedactionSuite] // 2
failures
enableSuite[GlutenExecuteImmediateEndToEndSuite]
- // TODO: 4.x enableSuite[GlutenExternalAppendOnlyUnsafeRowArraySuite] // 14
failures
+ enableSuite[GlutenExternalAppendOnlyUnsafeRowArraySuite]
enableSuite[GlutenGlobalTempViewSuite]
enableSuite[GlutenGlobalTempViewTestSuite]
enableSuite[GlutenGroupedIteratorSuite]
@@ -696,10 +696,10 @@ class VeloxTestSettings extends BackendTestSettings {
// TODO: 4.x enableSuite[GlutenRemoveRedundantProjectsSuite] // 14 failures
// TODO: 4.x enableSuite[GlutenRemoveRedundantSortsSuite] // 1 failure
enableSuite[GlutenRowToColumnConverterSuite]
- // TODO: 4.x enableSuite[GlutenSQLExecutionSuite] // 1 failure
+ enableSuite[GlutenSQLExecutionSuite]
enableSuite[GlutenSQLFunctionSuite]
- // TODO: 4.x enableSuite[GlutenSQLJsonProtocolSuite] // 1 failure
- // TODO: 4.x enableSuite[GlutenShufflePartitionsUtilSuite] // 1 failure
+ enableSuite[GlutenSQLJsonProtocolSuite]
+ enableSuite[GlutenShufflePartitionsUtilSuite]
// TODO: 4.x enableSuite[GlutenSimpleSQLViewSuite] // 1 failure
// TODO: 4.x enableSuite[GlutenSparkPlanSuite] // 1 failure
enableSuite[GlutenSparkPlannerSuite]
@@ -707,7 +707,7 @@ class VeloxTestSettings extends BackendTestSettings {
enableSuite[GlutenSparkSqlParserSuite]
enableSuite[GlutenUnsafeFixedWidthAggregationMapSuite]
enableSuite[GlutenUnsafeKVExternalSorterSuite]
- // TODO: 4.x enableSuite[GlutenUnsafeRowSerializerSuite] // 1 failure
+ enableSuite[GlutenUnsafeRowSerializerSuite]
// TODO: 4.x enableSuite[GlutenWholeStageCodegenSparkSubmitSuite] // 1
failure
// TODO: 4.x enableSuite[GlutenWholeStageCodegenSuite] // 24 failures
enableSuite[GlutenBroadcastExchangeSuite]
@@ -790,14 +790,7 @@ class VeloxTestSettings extends BackendTestSettings {
enableSuite[GlutenSaveLoadSuite]
enableSuite[GlutenTableScanSuite]
// Generated suites for org.apache.spark.sql.sources
- // TODO: 4.x enableSuite[GlutenBucketedReadWithHiveSupportSuite] // 2
failures
- // TODO: 4.x enableSuite[GlutenBucketedWriteWithHiveSupportSuite] // 1
failure
- // TODO: 4.x enableSuite[GlutenCommitFailureTestRelationSuite] // 2 failures
enableSuite[GlutenDataSourceAnalysisSuite]
- // TODO: 4.x
enableSuite[GlutenDisableUnnecessaryBucketedScanWithHiveSupportSuite] // 2
failures
- // TODO: 4.x enableSuite[GlutenJsonHadoopFsRelationSuite] // 2 failures
- // TODO: 4.x enableSuite[GlutenParquetHadoopFsRelationSuite] // 2 failures
- // TODO: 4.x enableSuite[GlutenSimpleTextHadoopFsRelationSuite] // 2
failures
// Generated suites for org.apache.spark.sql
enableSuite[GlutenCacheManagerSuite]
enableSuite[GlutenDataFrameShowSuite]
@@ -823,6 +816,7 @@ class VeloxTestSettings extends BackendTestSettings {
// TODO: 4.x enableSuite[GlutenSetCommandSuite] // 1 failure
enableSuite[GlutenSparkSessionBuilderSuite]
enableSuite[GlutenSparkSessionJobTaggingAndCancellationSuite]
+ .exclude("Tags set from session are prefixed with session UUID")
enableSuite[GlutenTPCDSCollationQueryTestSuite]
enableSuite[GlutenTPCDSModifiedPlanStabilitySuite]
enableSuite[GlutenTPCDSModifiedPlanStabilityWithStatsSuite]
diff --git
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/GlutenSparkSessionJobTaggingAndCancellationSuite.scala
b/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/GlutenSparkSessionJobTaggingAndCancellationSuite.scala
index 8fbb53e24c..f761d6de36 100644
---
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/GlutenSparkSessionJobTaggingAndCancellationSuite.scala
+++
b/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/GlutenSparkSessionJobTaggingAndCancellationSuite.scala
@@ -16,6 +16,71 @@
*/
package org.apache.spark.sql
+import org.apache.spark.SparkContext
+import org.apache.spark.scheduler.{SparkListener, SparkListenerJobStart}
+import org.apache.spark.sql.execution.SQLExecution
+import org.apache.spark.util.ThreadUtils
+
+import java.util.concurrent.{Executors, Semaphore, TimeUnit}
+
+import scala.concurrent.{ExecutionContext, Future}
+import scala.concurrent.duration._
+
class GlutenSparkSessionJobTaggingAndCancellationSuite
extends SparkSessionJobTaggingAndCancellationSuite
- with GlutenTestsTrait {}
+ with GlutenTestSetWithSystemPropertyTrait {
+
+ // Override with testGluten because the original test uses
ExecutionContext.global whose
+ // ForkJoinPool reuses threads created before addTag("one").
InheritableThreadLocal (used by
+ // managedJobTags) only copies values at thread creation time, so reused
threads see an empty
+ // tag map. This causes withSessionTagsApplied to not attach the user tag to
the job, making
+ // cancelJobsWithTagWithFuture return empty. We fix this by creating a fresh
thread pool AFTER
+ // addTag so that new threads inherit the InheritableThreadLocal values.
+ testGluten("Tags set from session are prefixed with session UUID") {
+ sc = new SparkContext("local[2]", "test")
+ val session = classic.SparkSession.builder().sparkContext(sc).getOrCreate()
+ import session.implicits._
+
+ val sem = new Semaphore(0)
+ sc.addSparkListener(new SparkListener {
+ override def onJobStart(jobStart: SparkListenerJobStart): Unit = {
+ sem.release()
+ }
+ })
+
+ session.addTag("one")
+
+ // Use a fresh thread pool created AFTER addTag so that new threads inherit
+ // InheritableThreadLocal values (managedJobTags, threadUuid).
+ val threadPool = Executors.newSingleThreadExecutor()
+ implicit val ec: ExecutionContext =
ExecutionContext.fromExecutor(threadPool)
+ try {
+ Future {
+ session.range(1, 10000).map { i => Thread.sleep(100); i }.count()
+ }
+
+ assert(sem.tryAcquire(1, 1, TimeUnit.MINUTES))
+ val activeJobsFuture =
+ session.sparkContext.cancelJobsWithTagWithFuture(
+ session.managedJobTags.get()("one"),
+ "reason")
+ val activeJob = ThreadUtils.awaitResult(activeJobsFuture,
60.seconds).head
+ val actualTags = activeJob.properties
+ .getProperty(SparkContext.SPARK_JOB_TAGS)
+ .split(SparkContext.SPARK_JOB_TAGS_SEP)
+ assert(
+ actualTags.toSet == Set(
+ session.sessionJobTag,
+ s"${session.sessionJobTag}-thread-${session.threadUuid.get()}-one",
+ SQLExecution.executionIdJobTag(
+ session,
+ activeJob.properties
+ .get(SQLExecution.EXECUTION_ROOT_ID_KEY)
+ .asInstanceOf[String]
+ .toLong)
+ ))
+ } finally {
+ threadPool.shutdownNow()
+ }
+ }
+}
diff --git
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/execution/GlutenExternalAppendOnlyUnsafeRowArraySuite.scala
b/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/execution/GlutenExternalAppendOnlyUnsafeRowArraySuite.scala
index f947c4f406..4229733100 100644
---
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/execution/GlutenExternalAppendOnlyUnsafeRowArraySuite.scala
+++
b/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/execution/GlutenExternalAppendOnlyUnsafeRowArraySuite.scala
@@ -16,8 +16,8 @@
*/
package org.apache.spark.sql.execution
-import org.apache.spark.sql.GlutenTestsTrait
+import org.apache.spark.sql.GlutenTestSetWithSystemPropertyTrait
class GlutenExternalAppendOnlyUnsafeRowArraySuite
extends ExternalAppendOnlyUnsafeRowArraySuite
- with GlutenTestsTrait {}
+ with GlutenTestSetWithSystemPropertyTrait {}
diff --git
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/execution/GlutenSQLExecutionSuite.scala
b/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/execution/GlutenSQLExecutionSuite.scala
index 51c06b3b69..05b1d5fea1 100644
---
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/execution/GlutenSQLExecutionSuite.scala
+++
b/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/execution/GlutenSQLExecutionSuite.scala
@@ -16,6 +16,6 @@
*/
package org.apache.spark.sql.execution
-import org.apache.spark.sql.GlutenTestsTrait
+import org.apache.spark.sql.GlutenTestSetWithSystemPropertyTrait
-class GlutenSQLExecutionSuite extends SQLExecutionSuite with GlutenTestsTrait
{}
+class GlutenSQLExecutionSuite extends SQLExecutionSuite with
GlutenTestSetWithSystemPropertyTrait {}
diff --git
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/execution/GlutenSQLJsonProtocolSuite.scala
b/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/execution/GlutenSQLJsonProtocolSuite.scala
index 7ce28aae89..12af785acd 100644
---
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/execution/GlutenSQLJsonProtocolSuite.scala
+++
b/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/execution/GlutenSQLJsonProtocolSuite.scala
@@ -16,6 +16,8 @@
*/
package org.apache.spark.sql.execution
-import org.apache.spark.sql.GlutenTestsTrait
+import org.apache.spark.sql.GlutenTestSetWithSystemPropertyTrait
-class GlutenSQLJsonProtocolSuite extends SQLJsonProtocolSuite with
GlutenTestsTrait {}
+class GlutenSQLJsonProtocolSuite
+ extends SQLJsonProtocolSuite
+ with GlutenTestSetWithSystemPropertyTrait {}
diff --git
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/execution/GlutenShufflePartitionsUtilSuite.scala
b/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/execution/GlutenShufflePartitionsUtilSuite.scala
index 866d6cea54..0184af6774 100644
---
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/execution/GlutenShufflePartitionsUtilSuite.scala
+++
b/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/execution/GlutenShufflePartitionsUtilSuite.scala
@@ -16,6 +16,8 @@
*/
package org.apache.spark.sql.execution
-import org.apache.spark.sql.GlutenTestsTrait
+import org.apache.spark.sql.GlutenTestSetWithSystemPropertyTrait
-class GlutenShufflePartitionsUtilSuite extends ShufflePartitionsUtilSuite with
GlutenTestsTrait {}
+class GlutenShufflePartitionsUtilSuite
+ extends ShufflePartitionsUtilSuite
+ with GlutenTestSetWithSystemPropertyTrait {}
diff --git
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/execution/GlutenUnsafeRowSerializerSuite.scala
b/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/execution/GlutenUnsafeRowSerializerSuite.scala
index 39a52a35dd..0f76b5fc2a 100644
---
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/execution/GlutenUnsafeRowSerializerSuite.scala
+++
b/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/execution/GlutenUnsafeRowSerializerSuite.scala
@@ -16,6 +16,8 @@
*/
package org.apache.spark.sql.execution
-import org.apache.spark.sql.GlutenTestsTrait
+import org.apache.spark.sql.GlutenTestSetWithSystemPropertyTrait
-class GlutenUnsafeRowSerializerSuite extends UnsafeRowSerializerSuite with
GlutenTestsTrait {}
+class GlutenUnsafeRowSerializerSuite
+ extends UnsafeRowSerializerSuite
+ with GlutenTestSetWithSystemPropertyTrait {}
diff --git
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/sources/GlutenBucketedReadWithHiveSupportSuite.scala
b/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/sources/GlutenBucketedReadWithHiveSupportSuite.scala
deleted file mode 100644
index 115f933638..0000000000
---
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/sources/GlutenBucketedReadWithHiveSupportSuite.scala
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.spark.sql.sources
-
-import org.apache.spark.sql.GlutenTestsCommonTrait
-
-class GlutenBucketedReadWithHiveSupportSuite
- extends BucketedReadWithHiveSupportSuite
- with GlutenTestsCommonTrait {}
diff --git
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/sources/GlutenBucketedWriteWithHiveSupportSuite.scala
b/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/sources/GlutenBucketedWriteWithHiveSupportSuite.scala
deleted file mode 100644
index 0ccbb1cf43..0000000000
---
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/sources/GlutenBucketedWriteWithHiveSupportSuite.scala
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.spark.sql.sources
-
-import org.apache.spark.sql.GlutenTestsCommonTrait
-
-class GlutenBucketedWriteWithHiveSupportSuite
- extends BucketedWriteWithHiveSupportSuite
- with GlutenTestsCommonTrait {}
diff --git
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/sources/GlutenCommitFailureTestRelationSuite.scala
b/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/sources/GlutenCommitFailureTestRelationSuite.scala
deleted file mode 100644
index 0b7232772f..0000000000
---
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/sources/GlutenCommitFailureTestRelationSuite.scala
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.spark.sql.sources
-
-import org.apache.spark.sql.GlutenTestsCommonTrait
-
-class GlutenCommitFailureTestRelationSuite
- extends CommitFailureTestRelationSuite
- with GlutenTestsCommonTrait {}
diff --git
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/sources/GlutenDisableUnnecessaryBucketedScanWithHiveSupportSuite.scala
b/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/sources/GlutenDisableUnnecessaryBucketedScanWithHiveSupportSuite.scala
deleted file mode 100644
index 3ce4d072bc..0000000000
---
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/sources/GlutenDisableUnnecessaryBucketedScanWithHiveSupportSuite.scala
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.spark.sql.sources
-
-import org.apache.spark.sql.GlutenTestsCommonTrait
-
-class GlutenDisableUnnecessaryBucketedScanWithHiveSupportSuite
- extends DisableUnnecessaryBucketedScanWithHiveSupportSuite
- with GlutenTestsCommonTrait {}
diff --git
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/sources/GlutenJsonHadoopFsRelationSuite.scala
b/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/sources/GlutenJsonHadoopFsRelationSuite.scala
deleted file mode 100644
index 4bc841c4ad..0000000000
---
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/sources/GlutenJsonHadoopFsRelationSuite.scala
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.spark.sql.sources
-
-import org.apache.spark.sql.GlutenTestsCommonTrait
-
-class GlutenJsonHadoopFsRelationSuite
- extends JsonHadoopFsRelationSuite
- with GlutenTestsCommonTrait {}
diff --git
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/sources/GlutenParquetHadoopFsRelationSuite.scala
b/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/sources/GlutenParquetHadoopFsRelationSuite.scala
deleted file mode 100644
index 8aef43c990..0000000000
---
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/sources/GlutenParquetHadoopFsRelationSuite.scala
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.spark.sql.sources
-
-import org.apache.spark.sql.GlutenTestsCommonTrait
-
-class GlutenParquetHadoopFsRelationSuite
- extends ParquetHadoopFsRelationSuite
- with GlutenTestsCommonTrait {}
diff --git
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/sources/GlutenSimpleTextHadoopFsRelationSuite.scala
b/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/sources/GlutenSimpleTextHadoopFsRelationSuite.scala
deleted file mode 100644
index 40a99eb003..0000000000
---
a/gluten-ut/spark40/src/test/scala/org/apache/spark/sql/sources/GlutenSimpleTextHadoopFsRelationSuite.scala
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.spark.sql.sources
-
-import org.apache.spark.sql.GlutenTestsCommonTrait
-
-class GlutenSimpleTextHadoopFsRelationSuite
- extends SimpleTextHadoopFsRelationSuite
- with GlutenTestsCommonTrait {}
diff --git
a/gluten-ut/spark41/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala
b/gluten-ut/spark41/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala
index be6e89bbd3..5a31f1d6f6 100644
---
a/gluten-ut/spark41/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala
+++
b/gluten-ut/spark41/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala
@@ -663,7 +663,7 @@ class VeloxTestSettings extends BackendTestSettings {
// TODO: 4.x enableSuite[GlutenDataSourceScanExecRedactionSuite] // 2
failures
// TODO: 4.x enableSuite[GlutenDataSourceV2ScanExecRedactionSuite] // 2
failures
enableSuite[GlutenExecuteImmediateEndToEndSuite]
- // TODO: 4.x enableSuite[GlutenExternalAppendOnlyUnsafeRowArraySuite] // 14
failures
+ enableSuite[GlutenExternalAppendOnlyUnsafeRowArraySuite]
enableSuite[GlutenGlobalTempViewSuite]
enableSuite[GlutenGlobalTempViewTestSuite]
enableSuite[GlutenGroupedIteratorSuite]
@@ -679,10 +679,10 @@ class VeloxTestSettings extends BackendTestSettings {
// TODO: 4.x enableSuite[GlutenRemoveRedundantProjectsSuite] // 14 failures
// TODO: 4.x enableSuite[GlutenRemoveRedundantSortsSuite] // 1 failure
enableSuite[GlutenRowToColumnConverterSuite]
- // TODO: 4.x enableSuite[GlutenSQLExecutionSuite] // 1 failure
+ enableSuite[GlutenSQLExecutionSuite]
enableSuite[GlutenSQLFunctionSuite]
- // TODO: 4.x enableSuite[GlutenSQLJsonProtocolSuite] // 1 failure
- // TODO: 4.x enableSuite[GlutenShufflePartitionsUtilSuite] // 1 failure
+ enableSuite[GlutenSQLJsonProtocolSuite]
+ enableSuite[GlutenShufflePartitionsUtilSuite]
// TODO: 4.x enableSuite[GlutenSimpleSQLViewSuite] // 2 failures
// TODO: 4.x enableSuite[GlutenSparkPlanSuite] // 1 failure
enableSuite[GlutenSparkPlannerSuite]
@@ -690,7 +690,7 @@ class VeloxTestSettings extends BackendTestSettings {
enableSuite[GlutenSparkSqlParserSuite]
enableSuite[GlutenUnsafeFixedWidthAggregationMapSuite]
enableSuite[GlutenUnsafeKVExternalSorterSuite]
- // TODO: 4.x enableSuite[GlutenUnsafeRowSerializerSuite] // 1 failure
+ enableSuite[GlutenUnsafeRowSerializerSuite]
// TODO: 4.x enableSuite[GlutenWholeStageCodegenSparkSubmitSuite] // 1
failure
// TODO: 4.x enableSuite[GlutenWholeStageCodegenSuite] // 24 failures
enableSuite[GlutenBroadcastExchangeSuite]
@@ -775,14 +775,7 @@ class VeloxTestSettings extends BackendTestSettings {
enableSuite[GlutenSaveLoadSuite]
enableSuite[GlutenTableScanSuite]
// Generated suites for org.apache.spark.sql.sources
- // TODO: 4.x enableSuite[GlutenBucketedReadWithHiveSupportSuite] // 2
failures
- // TODO: 4.x enableSuite[GlutenBucketedWriteWithHiveSupportSuite] // 2
failures
- // TODO: 4.x enableSuite[GlutenCommitFailureTestRelationSuite] // 2 failures
enableSuite[GlutenDataSourceAnalysisSuite]
- // TODO: 4.x
enableSuite[GlutenDisableUnnecessaryBucketedScanWithHiveSupportSuite] // 2
failures
- // TODO: 4.x enableSuite[GlutenJsonHadoopFsRelationSuite] // 2 failures
- // TODO: 4.x enableSuite[GlutenParquetHadoopFsRelationSuite] // 2 failures
- // TODO: 4.x enableSuite[GlutenSimpleTextHadoopFsRelationSuite] // 2
failures
// Generated suites for org.apache.spark.sql
enableSuite[GlutenCacheManagerSuite]
enableSuite[GlutenDataFrameShowSuite]
@@ -807,6 +800,7 @@ class VeloxTestSettings extends BackendTestSettings {
// TODO: 4.x enableSuite[GlutenSetCommandSuite] // 1 failure
enableSuite[GlutenSparkSessionBuilderSuite]
enableSuite[GlutenSparkSessionJobTaggingAndCancellationSuite]
+ .exclude("Tags set from session are prefixed with session UUID")
enableSuite[GlutenTPCDSCollationQueryTestSuite]
enableSuite[GlutenTPCDSModifiedPlanStabilitySuite]
enableSuite[GlutenTPCDSModifiedPlanStabilityWithStatsSuite]
diff --git
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/GlutenSparkSessionJobTaggingAndCancellationSuite.scala
b/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/GlutenSparkSessionJobTaggingAndCancellationSuite.scala
index 6befbbe213..f761d6de36 100644
---
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/GlutenSparkSessionJobTaggingAndCancellationSuite.scala
+++
b/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/GlutenSparkSessionJobTaggingAndCancellationSuite.scala
@@ -16,8 +16,71 @@
*/
package org.apache.spark.sql
-import org.apache.spark.sql.shim.GlutenTestsTrait
+import org.apache.spark.SparkContext
+import org.apache.spark.scheduler.{SparkListener, SparkListenerJobStart}
+import org.apache.spark.sql.execution.SQLExecution
+import org.apache.spark.util.ThreadUtils
+
+import java.util.concurrent.{Executors, Semaphore, TimeUnit}
+
+import scala.concurrent.{ExecutionContext, Future}
+import scala.concurrent.duration._
class GlutenSparkSessionJobTaggingAndCancellationSuite
extends SparkSessionJobTaggingAndCancellationSuite
- with GlutenTestsTrait {}
+ with GlutenTestSetWithSystemPropertyTrait {
+
+ // Override with testGluten because the original test uses
ExecutionContext.global whose
+ // ForkJoinPool reuses threads created before addTag("one").
InheritableThreadLocal (used by
+ // managedJobTags) only copies values at thread creation time, so reused
threads see an empty
+ // tag map. This causes withSessionTagsApplied to not attach the user tag to
the job, making
+ // cancelJobsWithTagWithFuture return empty. We fix this by creating a fresh
thread pool AFTER
+ // addTag so that new threads inherit the InheritableThreadLocal values.
+ testGluten("Tags set from session are prefixed with session UUID") {
+ sc = new SparkContext("local[2]", "test")
+ val session = classic.SparkSession.builder().sparkContext(sc).getOrCreate()
+ import session.implicits._
+
+ val sem = new Semaphore(0)
+ sc.addSparkListener(new SparkListener {
+ override def onJobStart(jobStart: SparkListenerJobStart): Unit = {
+ sem.release()
+ }
+ })
+
+ session.addTag("one")
+
+ // Use a fresh thread pool created AFTER addTag so that new threads inherit
+ // InheritableThreadLocal values (managedJobTags, threadUuid).
+ val threadPool = Executors.newSingleThreadExecutor()
+ implicit val ec: ExecutionContext =
ExecutionContext.fromExecutor(threadPool)
+ try {
+ Future {
+ session.range(1, 10000).map { i => Thread.sleep(100); i }.count()
+ }
+
+ assert(sem.tryAcquire(1, 1, TimeUnit.MINUTES))
+ val activeJobsFuture =
+ session.sparkContext.cancelJobsWithTagWithFuture(
+ session.managedJobTags.get()("one"),
+ "reason")
+ val activeJob = ThreadUtils.awaitResult(activeJobsFuture,
60.seconds).head
+ val actualTags = activeJob.properties
+ .getProperty(SparkContext.SPARK_JOB_TAGS)
+ .split(SparkContext.SPARK_JOB_TAGS_SEP)
+ assert(
+ actualTags.toSet == Set(
+ session.sessionJobTag,
+ s"${session.sessionJobTag}-thread-${session.threadUuid.get()}-one",
+ SQLExecution.executionIdJobTag(
+ session,
+ activeJob.properties
+ .get(SQLExecution.EXECUTION_ROOT_ID_KEY)
+ .asInstanceOf[String]
+ .toLong)
+ ))
+ } finally {
+ threadPool.shutdownNow()
+ }
+ }
+}
diff --git
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/execution/GlutenExternalAppendOnlyUnsafeRowArraySuite.scala
b/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/execution/GlutenExternalAppendOnlyUnsafeRowArraySuite.scala
index cd3aeb6438..4229733100 100644
---
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/execution/GlutenExternalAppendOnlyUnsafeRowArraySuite.scala
+++
b/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/execution/GlutenExternalAppendOnlyUnsafeRowArraySuite.scala
@@ -16,8 +16,8 @@
*/
package org.apache.spark.sql.execution
-import org.apache.spark.sql.shim.GlutenTestsTrait
+import org.apache.spark.sql.GlutenTestSetWithSystemPropertyTrait
class GlutenExternalAppendOnlyUnsafeRowArraySuite
extends ExternalAppendOnlyUnsafeRowArraySuite
- with GlutenTestsTrait {}
+ with GlutenTestSetWithSystemPropertyTrait {}
diff --git
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/execution/GlutenSQLExecutionSuite.scala
b/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/execution/GlutenSQLExecutionSuite.scala
index 27865af762..05b1d5fea1 100644
---
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/execution/GlutenSQLExecutionSuite.scala
+++
b/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/execution/GlutenSQLExecutionSuite.scala
@@ -16,6 +16,6 @@
*/
package org.apache.spark.sql.execution
-import org.apache.spark.sql.shim.GlutenTestsTrait
+import org.apache.spark.sql.GlutenTestSetWithSystemPropertyTrait
-class GlutenSQLExecutionSuite extends SQLExecutionSuite with GlutenTestsTrait
{}
+class GlutenSQLExecutionSuite extends SQLExecutionSuite with
GlutenTestSetWithSystemPropertyTrait {}
diff --git
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/execution/GlutenSQLJsonProtocolSuite.scala
b/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/execution/GlutenSQLJsonProtocolSuite.scala
index 2ca7b4380d..12af785acd 100644
---
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/execution/GlutenSQLJsonProtocolSuite.scala
+++
b/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/execution/GlutenSQLJsonProtocolSuite.scala
@@ -16,6 +16,8 @@
*/
package org.apache.spark.sql.execution
-import org.apache.spark.sql.shim.GlutenTestsTrait
+import org.apache.spark.sql.GlutenTestSetWithSystemPropertyTrait
-class GlutenSQLJsonProtocolSuite extends SQLJsonProtocolSuite with
GlutenTestsTrait {}
+class GlutenSQLJsonProtocolSuite
+ extends SQLJsonProtocolSuite
+ with GlutenTestSetWithSystemPropertyTrait {}
diff --git
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/execution/GlutenShufflePartitionsUtilSuite.scala
b/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/execution/GlutenShufflePartitionsUtilSuite.scala
index 5a6595bd9e..0184af6774 100644
---
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/execution/GlutenShufflePartitionsUtilSuite.scala
+++
b/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/execution/GlutenShufflePartitionsUtilSuite.scala
@@ -16,6 +16,8 @@
*/
package org.apache.spark.sql.execution
-import org.apache.spark.sql.shim.GlutenTestsTrait
+import org.apache.spark.sql.GlutenTestSetWithSystemPropertyTrait
-class GlutenShufflePartitionsUtilSuite extends ShufflePartitionsUtilSuite with
GlutenTestsTrait {}
+class GlutenShufflePartitionsUtilSuite
+ extends ShufflePartitionsUtilSuite
+ with GlutenTestSetWithSystemPropertyTrait {}
diff --git
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/execution/GlutenUnsafeRowSerializerSuite.scala
b/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/execution/GlutenUnsafeRowSerializerSuite.scala
index d81f8d58e7..0f76b5fc2a 100644
---
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/execution/GlutenUnsafeRowSerializerSuite.scala
+++
b/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/execution/GlutenUnsafeRowSerializerSuite.scala
@@ -16,6 +16,8 @@
*/
package org.apache.spark.sql.execution
-import org.apache.spark.sql.shim.GlutenTestsTrait
+import org.apache.spark.sql.GlutenTestSetWithSystemPropertyTrait
-class GlutenUnsafeRowSerializerSuite extends UnsafeRowSerializerSuite with
GlutenTestsTrait {}
+class GlutenUnsafeRowSerializerSuite
+ extends UnsafeRowSerializerSuite
+ with GlutenTestSetWithSystemPropertyTrait {}
diff --git
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/sources/GlutenBucketedReadWithHiveSupportSuite.scala
b/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/sources/GlutenBucketedReadWithHiveSupportSuite.scala
deleted file mode 100644
index 115f933638..0000000000
---
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/sources/GlutenBucketedReadWithHiveSupportSuite.scala
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.spark.sql.sources
-
-import org.apache.spark.sql.GlutenTestsCommonTrait
-
-class GlutenBucketedReadWithHiveSupportSuite
- extends BucketedReadWithHiveSupportSuite
- with GlutenTestsCommonTrait {}
diff --git
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/sources/GlutenBucketedWriteWithHiveSupportSuite.scala
b/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/sources/GlutenBucketedWriteWithHiveSupportSuite.scala
deleted file mode 100644
index 0ccbb1cf43..0000000000
---
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/sources/GlutenBucketedWriteWithHiveSupportSuite.scala
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.spark.sql.sources
-
-import org.apache.spark.sql.GlutenTestsCommonTrait
-
-class GlutenBucketedWriteWithHiveSupportSuite
- extends BucketedWriteWithHiveSupportSuite
- with GlutenTestsCommonTrait {}
diff --git
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/sources/GlutenCommitFailureTestRelationSuite.scala
b/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/sources/GlutenCommitFailureTestRelationSuite.scala
deleted file mode 100644
index 0b7232772f..0000000000
---
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/sources/GlutenCommitFailureTestRelationSuite.scala
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.spark.sql.sources
-
-import org.apache.spark.sql.GlutenTestsCommonTrait
-
-class GlutenCommitFailureTestRelationSuite
- extends CommitFailureTestRelationSuite
- with GlutenTestsCommonTrait {}
diff --git
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/sources/GlutenDisableUnnecessaryBucketedScanWithHiveSupportSuite.scala
b/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/sources/GlutenDisableUnnecessaryBucketedScanWithHiveSupportSuite.scala
deleted file mode 100644
index 3ce4d072bc..0000000000
---
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/sources/GlutenDisableUnnecessaryBucketedScanWithHiveSupportSuite.scala
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.spark.sql.sources
-
-import org.apache.spark.sql.GlutenTestsCommonTrait
-
-class GlutenDisableUnnecessaryBucketedScanWithHiveSupportSuite
- extends DisableUnnecessaryBucketedScanWithHiveSupportSuite
- with GlutenTestsCommonTrait {}
diff --git
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/sources/GlutenJsonHadoopFsRelationSuite.scala
b/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/sources/GlutenJsonHadoopFsRelationSuite.scala
deleted file mode 100644
index 4bc841c4ad..0000000000
---
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/sources/GlutenJsonHadoopFsRelationSuite.scala
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.spark.sql.sources
-
-import org.apache.spark.sql.GlutenTestsCommonTrait
-
-class GlutenJsonHadoopFsRelationSuite
- extends JsonHadoopFsRelationSuite
- with GlutenTestsCommonTrait {}
diff --git
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/sources/GlutenParquetHadoopFsRelationSuite.scala
b/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/sources/GlutenParquetHadoopFsRelationSuite.scala
deleted file mode 100644
index 8aef43c990..0000000000
---
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/sources/GlutenParquetHadoopFsRelationSuite.scala
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.spark.sql.sources
-
-import org.apache.spark.sql.GlutenTestsCommonTrait
-
-class GlutenParquetHadoopFsRelationSuite
- extends ParquetHadoopFsRelationSuite
- with GlutenTestsCommonTrait {}
diff --git
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/sources/GlutenSimpleTextHadoopFsRelationSuite.scala
b/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/sources/GlutenSimpleTextHadoopFsRelationSuite.scala
deleted file mode 100644
index 40a99eb003..0000000000
---
a/gluten-ut/spark41/src/test/scala/org/apache/spark/sql/sources/GlutenSimpleTextHadoopFsRelationSuite.scala
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.spark.sql.sources
-
-import org.apache.spark.sql.GlutenTestsCommonTrait
-
-class GlutenSimpleTextHadoopFsRelationSuite
- extends SimpleTextHadoopFsRelationSuite
- with GlutenTestsCommonTrait {}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]