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

chengchengjin 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 5f6de74844 [GLUTEN-11145][VL] Iceberg test supports Spark3.5 and 
Spark4.0 (#11146)
5f6de74844 is described below

commit 5f6de7484412bc7d1cd38d02c3e842777de3b249
Author: Jin Chengcheng <[email protected]>
AuthorDate: Tue Jan 6 13:40:54 2026 +0800

    [GLUTEN-11145][VL] Iceberg test supports Spark3.5 and Spark4.0 (#11146)
---
 .github/workflows/velox_backend_x86.yml            |  3 ++-
 .../java/org/apache/gluten/IcebergTestShims.java}  | 26 +++++++++------------
 .../java/org/apache/gluten/IcebergTestShims.java}  | 26 +++++++++------------
 .../java/org/apache/gluten/IcebergTestShims.java}  | 27 ++++++++++------------
 .../main/java/org/apache/gluten/TestConfUtil.java  |  2 ++
 .../execution/TestStoragePartitionedJoins.java     |  5 +++-
 .../execution/TestTPCHStoragePartitionedJoins.java |  0
 .../extensions/TestGlutenCopyOnWriteDelete.java    |  0
 .../extensions/TestGlutenMergeOnReadDelete.java    |  0
 .../extensions/TestGlutenMergeOnReadMerge.java     |  0
 .../extensions/TestGlutenMergeOnReadUpdate.java    |  0
 ...toragePartitionedJoinsInRowLevelOperations.java |  0
 .../TestGlutenSystemFunctionPushDownDQL.java       |  0
 ...SystemFunctionPushDownInRowLevelOperations.java |  0
 .../org/apache/gluten/source/TestFilteredScan.java |  0
 .../gluten/source/TestForwardCompatibility.java    |  0
 .../gluten/source/TestGlutenDataFrameWriterV2.java |  0
 .../TestGlutenDataFrameWriterV2Coercion.java       |  0
 .../gluten/source/TestGlutenDataSourceOptions.java |  0
 .../source/TestGlutenIcebergSourceHiveTables.java  |  0
 .../source/TestGlutenIdentityPartitionData.java    |  0
 .../source/TestGlutenPositionDeletesTable.java     |  0
 .../gluten/source/TestGlutenRuntimeFiltering.java  |  0
 .../source/TestGlutenSparkMetadataColumns.java     |  0
 .../gluten/source/TestGlutenSparkStagedScan.java   |  0
 .../org/apache/gluten/source/TestIcebergSpark.java |  0
 .../org/apache/gluten/source/TestParquetScan.java  |  0
 .../apache/gluten/source/TestPartitionPruning.java |  5 ++--
 .../apache/gluten/source/TestPartitionValues.java  |  0
 .../apache/gluten/source/TestSparkDataFile.java    |  5 ++--
 .../source/TestSparkReaderWithBloomFilter.java     |  0
 .../gluten/source/TestTimestampWithoutZone.java    |  0
 .../org/apache/gluten/sql/TestFilterPushDown.java  |  0
 .../gluten/sql/TestGlutenAggregatePushDown.java    |  2 +-
 .../apache/gluten/sql/TestGlutenDeleteFrom.java    |  0
 .../sql/TestGlutenPartitionedWritesAsSelect.java   |  0
 .../sql/TestGlutenPartitionedWritesToBranch.java   |  0
 .../TestGlutenPartitionedWritesToWapBranch.java    |  0
 .../org/apache/gluten/sql/TestGlutenSelect.java    |  0
 .../gluten/sql/TestGlutenTimestampWithoutZone.java |  0
 .../org/apache/iceberg/spark/CatalogTestBase.java  |  7 +-----
 .../apache/iceberg/spark/SparkCatalogTestBase.java |  5 ----
 .../org/apache/iceberg/spark/SparkTestBase.java    |  4 ++--
 .../iceberg/spark/SparkTestBaseWithCatalog.java    |  0
 .../java/org/apache/iceberg/spark/TestBase.java    |  0
 .../apache/iceberg/spark/TestBaseWithCatalog.java  |  0
 .../apache/iceberg/spark/data/AvroDataTest.java    |  0
 .../org/apache/iceberg/spark/data/RandomData.java  |  0
 .../org/apache/iceberg/spark/data/TestHelpers.java |  0
 .../spark/extensions/ExtensionsTestBase.java       |  2 +-
 .../spark/extensions/SparkExtensionsTestBase.java  |  0
 .../spark/source/GlutenSparkScanBuilder.java       |  0
 .../apache/iceberg/spark/source/LogMessage.java    |  0
 .../spark/source/TestIcebergSourceTablesBase.java  |  0
 .../spark/source/TestSparkReadProjection.java      |  0
 .../spark/source/TestSparkReaderDeletes.java       |  0
 .../spark/source/TestStructuredStreaming.java      |  0
 pom.xml                                            | 10 ++++++++
 58 files changed, 63 insertions(+), 66 deletions(-)

diff --git a/.github/workflows/velox_backend_x86.yml 
b/.github/workflows/velox_backend_x86.yml
index 9adde6c5ce..26736b2cb4 100644
--- a/.github/workflows/velox_backend_x86.yml
+++ b/.github/workflows/velox_backend_x86.yml
@@ -963,7 +963,7 @@ jobs:
           export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
           export PATH=$JAVA_HOME/bin:$PATH
           java -version
-          $MVN_CMD clean test -Pspark-3.5 -Pjava-17 -Pbackends-velox -Piceberg 
-Pdelta -Phudi -Ppaimon -Pspark-ut \
+          $MVN_CMD clean test -Pspark-3.5 -Pjava-17 -Pbackends-velox -Piceberg 
-Piceberg-test -Pdelta -Phudi -Ppaimon -Pspark-ut \
           -DargLine="-Dspark.test.home=/opt/shims/spark35/spark_home/" \
           
-DtagsToExclude=org.apache.spark.tags.ExtendedSQLTest,org.apache.gluten.tags.UDFTest,org.apache.gluten.tags.EnhancedFeaturesTest,org.apache.gluten.tags.SkipTest
       - name: Upload test report
@@ -1415,6 +1415,7 @@ jobs:
           export PATH=$JAVA_HOME/bin:$PATH
           java -version
           $MVN_CMD clean test -Pspark-4.0 -Pscala-2.13 -Pjava-17 
-Pbackends-velox \
+          -Piceberg -Piceberg-test \
           -Pspark-ut 
-DargLine="-Dspark.test.home=/opt/shims/spark40/spark_home/" \
           
-DtagsToExclude=org.apache.spark.tags.ExtendedSQLTest,org.apache.gluten.tags.UDFTest,org.apache.gluten.tags.EnhancedFeaturesTest,org.apache.gluten.tags.SkipTest
       - name: Upload test report
diff --git 
a/backends-velox/src-iceberg/main/java/org/apache/gluten/TestConfUtil.java 
b/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/IcebergTestShims.java
similarity index 63%
copy from 
backends-velox/src-iceberg/main/java/org/apache/gluten/TestConfUtil.java
copy to 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/IcebergTestShims.java
index 1ad6faca83..2226767fdf 100644
--- a/backends-velox/src-iceberg/main/java/org/apache/gluten/TestConfUtil.java
+++ 
b/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/IcebergTestShims.java
@@ -16,21 +16,17 @@
  */
 package org.apache.gluten;
 
-import com.google.common.collect.ImmutableMap;
+import org.apache.spark.rdd.RDD;
+import org.apache.spark.sql.Dataset;
+import org.apache.spark.sql.Row;
+import org.apache.spark.sql.SparkSession;
+import org.apache.spark.sql.catalyst.InternalRow;
+import org.apache.spark.sql.types.StructType;
 
-import java.util.Map;
+public class IcebergTestShims {
 
-public class TestConfUtil {
-  public static Map<String, Object> GLUTEN_CONF =
-      ImmutableMap.of(
-          "spark.plugins",
-          "org.apache.gluten.GlutenPlugin",
-          "spark.memory.offHeap.enabled",
-          "true",
-          "spark.memory.offHeap.size",
-          "1024MB",
-          "spark.ui.enabled",
-          "false",
-          "spark.gluten.ui.enabled",
-          "false");
+  public static Dataset<Row> internalCreateDataFrame(
+      SparkSession spark, RDD<InternalRow> rdd, StructType schema, boolean 
isStreaming) {
+    return spark.internalCreateDataFrame(rdd, schema, isStreaming);
+  }
 }
diff --git 
a/backends-velox/src-iceberg/main/java/org/apache/gluten/TestConfUtil.java 
b/backends-velox/src-iceberg-spark35/test/java/org/apache/gluten/IcebergTestShims.java
similarity index 63%
copy from 
backends-velox/src-iceberg/main/java/org/apache/gluten/TestConfUtil.java
copy to 
backends-velox/src-iceberg-spark35/test/java/org/apache/gluten/IcebergTestShims.java
index 1ad6faca83..2226767fdf 100644
--- a/backends-velox/src-iceberg/main/java/org/apache/gluten/TestConfUtil.java
+++ 
b/backends-velox/src-iceberg-spark35/test/java/org/apache/gluten/IcebergTestShims.java
@@ -16,21 +16,17 @@
  */
 package org.apache.gluten;
 
-import com.google.common.collect.ImmutableMap;
+import org.apache.spark.rdd.RDD;
+import org.apache.spark.sql.Dataset;
+import org.apache.spark.sql.Row;
+import org.apache.spark.sql.SparkSession;
+import org.apache.spark.sql.catalyst.InternalRow;
+import org.apache.spark.sql.types.StructType;
 
-import java.util.Map;
+public class IcebergTestShims {
 
-public class TestConfUtil {
-  public static Map<String, Object> GLUTEN_CONF =
-      ImmutableMap.of(
-          "spark.plugins",
-          "org.apache.gluten.GlutenPlugin",
-          "spark.memory.offHeap.enabled",
-          "true",
-          "spark.memory.offHeap.size",
-          "1024MB",
-          "spark.ui.enabled",
-          "false",
-          "spark.gluten.ui.enabled",
-          "false");
+  public static Dataset<Row> internalCreateDataFrame(
+      SparkSession spark, RDD<InternalRow> rdd, StructType schema, boolean 
isStreaming) {
+    return spark.internalCreateDataFrame(rdd, schema, isStreaming);
+  }
 }
diff --git 
a/backends-velox/src-iceberg/main/java/org/apache/gluten/TestConfUtil.java 
b/backends-velox/src-iceberg-spark40/test/java/org/apache/gluten/IcebergTestShims.java
similarity index 60%
copy from 
backends-velox/src-iceberg/main/java/org/apache/gluten/TestConfUtil.java
copy to 
backends-velox/src-iceberg-spark40/test/java/org/apache/gluten/IcebergTestShims.java
index 1ad6faca83..92fec1985c 100644
--- a/backends-velox/src-iceberg/main/java/org/apache/gluten/TestConfUtil.java
+++ 
b/backends-velox/src-iceberg-spark40/test/java/org/apache/gluten/IcebergTestShims.java
@@ -16,21 +16,18 @@
  */
 package org.apache.gluten;
 
-import com.google.common.collect.ImmutableMap;
+import org.apache.spark.rdd.RDD;
+import org.apache.spark.sql.Dataset;
+import org.apache.spark.sql.Row;
+import org.apache.spark.sql.SparkSession;
+import org.apache.spark.sql.catalyst.InternalRow;
+import org.apache.spark.sql.types.StructType;
 
-import java.util.Map;
+public class IcebergTestShims {
 
-public class TestConfUtil {
-  public static Map<String, Object> GLUTEN_CONF =
-      ImmutableMap.of(
-          "spark.plugins",
-          "org.apache.gluten.GlutenPlugin",
-          "spark.memory.offHeap.enabled",
-          "true",
-          "spark.memory.offHeap.size",
-          "1024MB",
-          "spark.ui.enabled",
-          "false",
-          "spark.gluten.ui.enabled",
-          "false");
+  public static Dataset<Row> internalCreateDataFrame(
+      SparkSession spark, RDD<InternalRow> rdd, StructType schema, boolean 
isStreaming) {
+    return ((org.apache.spark.sql.classic.SparkSession) spark)
+        .internalCreateDataFrame(rdd, schema, isStreaming);
+  }
 }
diff --git 
a/backends-velox/src-iceberg/main/java/org/apache/gluten/TestConfUtil.java 
b/backends-velox/src-iceberg/main/java/org/apache/gluten/TestConfUtil.java
index 1ad6faca83..ec9e1d80da 100644
--- a/backends-velox/src-iceberg/main/java/org/apache/gluten/TestConfUtil.java
+++ b/backends-velox/src-iceberg/main/java/org/apache/gluten/TestConfUtil.java
@@ -32,5 +32,7 @@ public class TestConfUtil {
           "spark.ui.enabled",
           "false",
           "spark.gluten.ui.enabled",
+          "false",
+          "spark.sql.ansi.enabled",
           "false");
 }
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/execution/TestStoragePartitionedJoins.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/execution/TestStoragePartitionedJoins.java
similarity index 99%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/execution/TestStoragePartitionedJoins.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/execution/TestStoragePartitionedJoins.java
index 8123ca16fc..6d3ac43e78 100644
--- 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/execution/TestStoragePartitionedJoins.java
+++ 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/execution/TestStoragePartitionedJoins.java
@@ -16,6 +16,8 @@
  */
 package org.apache.gluten.execution;
 
+import org.apache.gluten.IcebergTestShims;
+
 import org.apache.commons.lang3.StringUtils;
 import org.apache.iceberg.PlanningMode;
 import org.apache.iceberg.Schema;
@@ -655,7 +657,8 @@ public class TestStoragePartitionedJoins extends 
SparkTestBaseWithCatalog {
     Iterable<InternalRow> rows = RandomData.generateSpark(schema, numRows, 0);
     JavaRDD<InternalRow> rowRDD = 
sparkContext.parallelize(Lists.newArrayList(rows));
     StructType rowSparkType = SparkSchemaUtil.convert(schema);
-    return spark.internalCreateDataFrame(JavaRDD.toRDD(rowRDD), rowSparkType, 
false);
+    return IcebergTestShims.internalCreateDataFrame(
+        spark, JavaRDD.toRDD(rowRDD), rowSparkType, false);
   }
 
   private void append(String table, Dataset<Row> df) throws 
NoSuchTableException {
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/execution/TestTPCHStoragePartitionedJoins.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/execution/TestTPCHStoragePartitionedJoins.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/execution/TestTPCHStoragePartitionedJoins.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/execution/TestTPCHStoragePartitionedJoins.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/extensions/TestGlutenCopyOnWriteDelete.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/extensions/TestGlutenCopyOnWriteDelete.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/extensions/TestGlutenCopyOnWriteDelete.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/extensions/TestGlutenCopyOnWriteDelete.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/extensions/TestGlutenMergeOnReadDelete.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/extensions/TestGlutenMergeOnReadDelete.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/extensions/TestGlutenMergeOnReadDelete.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/extensions/TestGlutenMergeOnReadDelete.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/extensions/TestGlutenMergeOnReadMerge.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/extensions/TestGlutenMergeOnReadMerge.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/extensions/TestGlutenMergeOnReadMerge.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/extensions/TestGlutenMergeOnReadMerge.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/extensions/TestGlutenMergeOnReadUpdate.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/extensions/TestGlutenMergeOnReadUpdate.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/extensions/TestGlutenMergeOnReadUpdate.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/extensions/TestGlutenMergeOnReadUpdate.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/extensions/TestGlutenStoragePartitionedJoinsInRowLevelOperations.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/extensions/TestGlutenStoragePartitionedJoinsInRowLevelOperations.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/extensions/TestGlutenStoragePartitionedJoinsInRowLevelOperations.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/extensions/TestGlutenStoragePartitionedJoinsInRowLevelOperations.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/extensions/TestGlutenSystemFunctionPushDownDQL.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/extensions/TestGlutenSystemFunctionPushDownDQL.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/extensions/TestGlutenSystemFunctionPushDownDQL.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/extensions/TestGlutenSystemFunctionPushDownDQL.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/extensions/TestGlutenSystemFunctionPushDownInRowLevelOperations.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/extensions/TestGlutenSystemFunctionPushDownInRowLevelOperations.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/extensions/TestGlutenSystemFunctionPushDownInRowLevelOperations.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/extensions/TestGlutenSystemFunctionPushDownInRowLevelOperations.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestFilteredScan.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestFilteredScan.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestFilteredScan.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestFilteredScan.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestForwardCompatibility.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestForwardCompatibility.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestForwardCompatibility.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestForwardCompatibility.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestGlutenDataFrameWriterV2.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestGlutenDataFrameWriterV2.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestGlutenDataFrameWriterV2.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestGlutenDataFrameWriterV2.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestGlutenDataFrameWriterV2Coercion.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestGlutenDataFrameWriterV2Coercion.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestGlutenDataFrameWriterV2Coercion.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestGlutenDataFrameWriterV2Coercion.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestGlutenDataSourceOptions.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestGlutenDataSourceOptions.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestGlutenDataSourceOptions.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestGlutenDataSourceOptions.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestGlutenIcebergSourceHiveTables.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestGlutenIcebergSourceHiveTables.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestGlutenIcebergSourceHiveTables.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestGlutenIcebergSourceHiveTables.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestGlutenIdentityPartitionData.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestGlutenIdentityPartitionData.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestGlutenIdentityPartitionData.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestGlutenIdentityPartitionData.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestGlutenPositionDeletesTable.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestGlutenPositionDeletesTable.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestGlutenPositionDeletesTable.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestGlutenPositionDeletesTable.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestGlutenRuntimeFiltering.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestGlutenRuntimeFiltering.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestGlutenRuntimeFiltering.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestGlutenRuntimeFiltering.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestGlutenSparkMetadataColumns.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestGlutenSparkMetadataColumns.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestGlutenSparkMetadataColumns.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestGlutenSparkMetadataColumns.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestGlutenSparkStagedScan.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestGlutenSparkStagedScan.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestGlutenSparkStagedScan.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestGlutenSparkStagedScan.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestIcebergSpark.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestIcebergSpark.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestIcebergSpark.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestIcebergSpark.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestParquetScan.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestParquetScan.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestParquetScan.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestParquetScan.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestPartitionPruning.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestPartitionPruning.java
similarity index 99%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestPartitionPruning.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestPartitionPruning.java
index ceb5799db7..58afffea16 100644
--- 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestPartitionPruning.java
+++ 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestPartitionPruning.java
@@ -16,6 +16,7 @@
  */
 package org.apache.gluten.source;
 
+import org.apache.gluten.IcebergTestShims;
 import org.apache.gluten.TestConfUtil;
 
 import org.apache.hadoop.conf.Configuration;
@@ -331,8 +332,8 @@ public class TestPartitionPruning {
 
     JavaRDD<InternalRow> rdd = sparkContext.parallelize(rows);
     Dataset<Row> df =
-        spark.internalCreateDataFrame(
-            JavaRDD.toRDD(rdd), SparkSchemaUtil.convert(LOG_SCHEMA), false);
+        IcebergTestShims.internalCreateDataFrame(
+            spark, JavaRDD.toRDD(rdd), SparkSchemaUtil.convert(LOG_SCHEMA), 
false);
 
     return df.selectExpr("id", "date", "level", "message", "timestamp")
         .selectExpr(
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestPartitionValues.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestPartitionValues.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestPartitionValues.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestPartitionValues.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestSparkDataFile.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestSparkDataFile.java
similarity index 98%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestSparkDataFile.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestSparkDataFile.java
index 652cedd6ae..725b73de64 100644
--- 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestSparkDataFile.java
+++ 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestSparkDataFile.java
@@ -16,6 +16,7 @@
  */
 package org.apache.gluten.source;
 
+import org.apache.gluten.IcebergTestShims;
 import org.apache.gluten.TestConfUtil;
 
 import org.apache.hadoop.conf.Configuration;
@@ -139,8 +140,8 @@ public class TestSparkDataFile {
     Iterable<InternalRow> rows = RandomData.generateSpark(table.schema(), 200, 
0);
     JavaRDD<InternalRow> rdd = 
sparkContext.parallelize(Lists.newArrayList(rows));
     Dataset<Row> df =
-        spark.internalCreateDataFrame(
-            JavaRDD.toRDD(rdd), SparkSchemaUtil.convert(table.schema()), 
false);
+        IcebergTestShims.internalCreateDataFrame(
+            spark, JavaRDD.toRDD(rdd), 
SparkSchemaUtil.convert(table.schema()), false);
 
     df.write().format("iceberg").mode("append").save(tableLocation);
 
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestSparkReaderWithBloomFilter.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestSparkReaderWithBloomFilter.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestSparkReaderWithBloomFilter.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestSparkReaderWithBloomFilter.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestTimestampWithoutZone.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestTimestampWithoutZone.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/source/TestTimestampWithoutZone.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/source/TestTimestampWithoutZone.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/sql/TestFilterPushDown.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/sql/TestFilterPushDown.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/sql/TestFilterPushDown.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/sql/TestFilterPushDown.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/sql/TestGlutenAggregatePushDown.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/sql/TestGlutenAggregatePushDown.java
similarity index 98%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/sql/TestGlutenAggregatePushDown.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/sql/TestGlutenAggregatePushDown.java
index 8433e9b2f4..b7442523b2 100644
--- 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/sql/TestGlutenAggregatePushDown.java
+++ 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/sql/TestGlutenAggregatePushDown.java
@@ -36,7 +36,7 @@ public class TestGlutenAggregatePushDown extends 
TestAggregatePushDown {
     TestBase.metastore = new TestHiveMetastore();
     metastore.start();
     TestBase.hiveConf = metastore.hiveConf();
-    TestBase.spark.close();
+    TestBase.spark.stop();
     TestBase.spark =
         SparkSession.builder()
             .master("local[2]")
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/sql/TestGlutenDeleteFrom.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/sql/TestGlutenDeleteFrom.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/sql/TestGlutenDeleteFrom.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/sql/TestGlutenDeleteFrom.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/sql/TestGlutenPartitionedWritesAsSelect.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/sql/TestGlutenPartitionedWritesAsSelect.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/sql/TestGlutenPartitionedWritesAsSelect.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/sql/TestGlutenPartitionedWritesAsSelect.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/sql/TestGlutenPartitionedWritesToBranch.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/sql/TestGlutenPartitionedWritesToBranch.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/sql/TestGlutenPartitionedWritesToBranch.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/sql/TestGlutenPartitionedWritesToBranch.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/sql/TestGlutenPartitionedWritesToWapBranch.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/sql/TestGlutenPartitionedWritesToWapBranch.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/sql/TestGlutenPartitionedWritesToWapBranch.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/sql/TestGlutenPartitionedWritesToWapBranch.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/sql/TestGlutenSelect.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/sql/TestGlutenSelect.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/sql/TestGlutenSelect.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/sql/TestGlutenSelect.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/sql/TestGlutenTimestampWithoutZone.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/gluten/sql/TestGlutenTimestampWithoutZone.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/gluten/sql/TestGlutenTimestampWithoutZone.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/gluten/sql/TestGlutenTimestampWithoutZone.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/CatalogTestBase.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/CatalogTestBase.java
similarity index 90%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/CatalogTestBase.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/CatalogTestBase.java
index 00b88080af..5ae94b05aa 100644
--- 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/CatalogTestBase.java
+++ 
b/backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/CatalogTestBase.java
@@ -36,12 +36,7 @@ public abstract class CatalogTestBase extends 
TestBaseWithCatalog {
         SparkCatalogConfig.HADOOP.catalogName(),
         SparkCatalogConfig.HADOOP.implementation(),
         SparkCatalogConfig.HADOOP.properties()
-      },
-      {
-        SparkCatalogConfig.SPARK.catalogName(),
-        SparkCatalogConfig.SPARK.implementation(),
-        SparkCatalogConfig.SPARK.properties()
-      },
+      }
     };
   }
 }
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/SparkCatalogTestBase.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/SparkCatalogTestBase.java
similarity index 92%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/SparkCatalogTestBase.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/SparkCatalogTestBase.java
index 6119d0df3b..b8d1db25ca 100644
--- 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/SparkCatalogTestBase.java
+++ 
b/backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/SparkCatalogTestBase.java
@@ -39,11 +39,6 @@ public abstract class SparkCatalogTestBase extends 
SparkTestBaseWithCatalog {
         SparkCatalogConfig.HADOOP.catalogName(),
         SparkCatalogConfig.HADOOP.implementation(),
         SparkCatalogConfig.HADOOP.properties()
-      },
-      {
-        SparkCatalogConfig.SPARK.catalogName(),
-        SparkCatalogConfig.SPARK.implementation(),
-        SparkCatalogConfig.SPARK.properties()
       }
     };
   }
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/SparkTestBase.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/SparkTestBase.java
similarity index 98%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/SparkTestBase.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/SparkTestBase.java
index 9d82ec7b4f..53a07381a9 100644
--- 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/SparkTestBase.java
+++ 
b/backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/SparkTestBase.java
@@ -55,7 +55,7 @@ import java.util.concurrent.TimeoutException;
 import java.util.concurrent.atomic.AtomicReference;
 
 import scala.Option;
-import scala.collection.JavaConversions;
+import scala.collection.JavaConverters;
 
 import static org.apache.hadoop.hive.conf.HiveConf.ConfVars.METASTOREURIS;
 
@@ -290,7 +290,7 @@ public abstract class SparkTestBase extends 
SparkTestHelperBase {
         () -> {
           Option<String> msg =
               QueryTest.getErrorMessageInCheckAnswer(
-                  df, JavaConversions.asScalaBuffer(rows).toSeq(), true);
+                  df, JavaConverters.asScalaBuffer(rows).toSeq(), true);
           if (msg.isDefined()) {
             throw new RuntimeException(msg.get());
           }
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/SparkTestBaseWithCatalog.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/SparkTestBaseWithCatalog.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/SparkTestBaseWithCatalog.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/SparkTestBaseWithCatalog.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/TestBase.java
 b/backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/TestBase.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/TestBase.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/TestBase.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/TestBaseWithCatalog.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/TestBaseWithCatalog.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/TestBaseWithCatalog.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/TestBaseWithCatalog.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/data/AvroDataTest.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/data/AvroDataTest.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/data/AvroDataTest.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/data/AvroDataTest.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/data/RandomData.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/data/RandomData.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/data/RandomData.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/data/RandomData.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/data/TestHelpers.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/data/TestHelpers.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/data/TestHelpers.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/data/TestHelpers.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/extensions/ExtensionsTestBase.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/extensions/ExtensionsTestBase.java
similarity index 99%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/extensions/ExtensionsTestBase.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/extensions/ExtensionsTestBase.java
index 9a750609fb..34efbadd04 100644
--- 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/extensions/ExtensionsTestBase.java
+++ 
b/backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/extensions/ExtensionsTestBase.java
@@ -45,7 +45,7 @@ public abstract class ExtensionsTestBase extends 
CatalogTestBase {
     metastore.start();
     TestBase.hiveConf = metastore.hiveConf();
 
-    TestBase.spark.close();
+    TestBase.spark.stop();
 
     TestBase.spark =
         SparkSession.builder()
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/extensions/SparkExtensionsTestBase.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/extensions/SparkExtensionsTestBase.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/extensions/SparkExtensionsTestBase.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/extensions/SparkExtensionsTestBase.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/source/GlutenSparkScanBuilder.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/source/GlutenSparkScanBuilder.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/source/GlutenSparkScanBuilder.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/source/GlutenSparkScanBuilder.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/source/LogMessage.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/source/LogMessage.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/source/LogMessage.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/source/LogMessage.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/source/TestIcebergSourceTablesBase.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/source/TestIcebergSourceTablesBase.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/source/TestIcebergSourceTablesBase.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/source/TestIcebergSourceTablesBase.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/source/TestSparkReadProjection.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/source/TestSparkReadProjection.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/source/TestSparkReadProjection.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/source/TestSparkReadProjection.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/source/TestSparkReaderDeletes.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/source/TestSparkReaderDeletes.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/source/TestSparkReaderDeletes.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/source/TestSparkReaderDeletes.java
diff --git 
a/backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/source/TestStructuredStreaming.java
 
b/backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/source/TestStructuredStreaming.java
similarity index 100%
rename from 
backends-velox/src-iceberg-spark34/test/java/org/apache/iceberg/spark/source/TestStructuredStreaming.java
rename to 
backends-velox/src-iceberg10/test/java/org/apache/iceberg/spark/source/TestStructuredStreaming.java
diff --git a/pom.xml b/pom.xml
index c87d46ceb5..3bf38afaa2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -73,6 +73,7 @@
     <spark.version>3.5.5</spark.version>
     
<sparkshim.artifactId>spark-sql-columnar-shims-spark35</sparkshim.artifactId>
     <iceberg.version>1.10.0</iceberg.version>
+    <iceberg.binary.version>10</iceberg.binary.version>
     <paimon.version>1.2.0</paimon.version>
     <delta.package.name>delta-spark</delta.package.name>
     <delta.version>3.3.2</delta.version>
@@ -1134,6 +1135,7 @@
         
<sparkshim.artifactId>spark-sql-columnar-shims-spark34</sparkshim.artifactId>
         <spark.version>3.4.4</spark.version>
         <iceberg.version>1.10.0</iceberg.version>
+        <iceberg.binary.version>10</iceberg.binary.version>
         <delta.package.name>delta-core</delta.package.name>
         <delta.version>2.4.0</delta.version>
         <delta.binary.version>24</delta.binary.version>
@@ -1159,6 +1161,7 @@
         
<sparkshim.artifactId>spark-sql-columnar-shims-spark35</sparkshim.artifactId>
         <spark.version>3.5.5</spark.version>
         <iceberg.version>1.10.0</iceberg.version>
+        <iceberg.binary.version>10</iceberg.binary.version>
         <delta.package.name>delta-spark</delta.package.name>
         <delta.version>3.3.2</delta.version>
         <delta.binary.version>33</delta.binary.version>
@@ -1196,7 +1199,9 @@
         <sparkbundle.version>4.0</sparkbundle.version>
         
<sparkshim.artifactId>spark-sql-columnar-shims-spark40</sparkshim.artifactId>
         <spark.version>4.0.1</spark.version>
+        <spark.plain.version>40</spark.plain.version>
         <iceberg.version>1.10.0</iceberg.version>
+        <iceberg.binary.version>10</iceberg.binary.version>
         <delta.package.name>delta-spark</delta.package.name>
         <delta.version>4.0.0</delta.version>
         <delta.binary.version>40</delta.binary.version>
@@ -1628,6 +1633,8 @@
                   <sources>
                     <source>${project.basedir}/src-iceberg/main/scala</source>
                     <source>${project.basedir}/src-iceberg/main/java</source>
+                    
<source>${project.basedir}/src-iceberg${iceberg.binary.version}/main/scala</source>
+                    
<source>${project.basedir}/src-iceberg${iceberg.binary.version}/main/java</source>
                     
<source>${project.basedir}/src-iceberg-spark${spark.plain.version}/main/scala</source>
                     
<source>${project.basedir}/src-iceberg-spark${spark.plain.version}/main/java</source>
                   </sources>
@@ -1701,6 +1708,8 @@
                 <phase>generate-test-sources</phase>
                 <configuration>
                   <sources>
+                    
<source>${project.basedir}/src-iceberg${iceberg.binary.version}/test/scala</source>
+                    
<source>${project.basedir}/src-iceberg${iceberg.binary.version}/test/java</source>
                     
<source>${project.basedir}/src-iceberg-spark${spark.plain.version}/test/scala</source>
                     
<source>${project.basedir}/src-iceberg-spark${spark.plain.version}/test/java</source>
                   </sources>
@@ -1715,6 +1724,7 @@
                 <configuration>
                   <resources>
                     <resource>
+                      
<directory>${project.basedir}/src-iceberg${iceberg.binary.version}/test/resources</directory>
                       
<directory>${project.basedir}/src-iceberg-spark${spark.plain.version}/test/resources</directory>
                     </resource>
                   </resources>


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


Reply via email to