roryqi commented on code in PR #13569:
URL: https://github.com/apache/gravitino/pull/13569#discussion_r4293677663


##########
iceberg/iceberg-rest-server/build.gradle.kts:
##########
@@ -27,8 +27,44 @@ plugins {
 val scalaVersion: String = project.properties["scalaVersion"] as? String ?: 
extra["defaultScalaVersion"].toString()
 val sparkVersion: String = libs.versions.spark34.get()
 val sparkMajorVersion: String = sparkVersion.substringBeforeLast(".")
+val experimentalSparkVersion: String = libs.versions.spark35.get()
+val experimentalSparkMajorVersion: String = 
experimentalSparkVersion.substringBeforeLast(".")
 val icebergVersion: String = libs.versions.iceberg.get()
+val datastratoIcebergVersion: String = libs.versions.datastrato.iceberg.get()
 val scalaCollectionCompatVersion: String = 
libs.versions.scala.collection.compat.get()
+val caffeineVersion: String = libs.versions.caffeine.get()
+val jacksonVersion: String = libs.versions.jackson.get()
+
+val experimentalTestRuntimeClasspath by configurations.creating {
+  extendsFrom(configurations.testRuntimeClasspath.get())
+  resolutionStrategy {
+    force(
+      "com.github.ben-manes.caffeine:caffeine:$caffeineVersion",
+      "com.fasterxml.jackson.core:jackson-annotations:$jacksonVersion",
+      "com.fasterxml.jackson.core:jackson-core:$jacksonVersion",
+      "com.fasterxml.jackson.core:jackson-databind:$jacksonVersion",
+      "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:$jacksonVersion",
+      "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jacksonVersion"
+    )
+    eachDependency {
+      if (requested.group == "org.apache.spark") {
+        useVersion(experimentalSparkVersion)
+        because("The experimental Iceberg Spark runtime is published for Spark 
3.5")

Review Comment:
   Follow-up: the experimental suite has since moved to Spark 4.1.3 with Scala 
2.13, matching the current experimental runtime used by the follow-up work. The 
build now substitutes both the Spark version and Scala-suffixed modules, 
documents the divergence, and the 16-test experimental suite passes on Spark 
4.1.3.



##########
iceberg/iceberg-rest-server/src/test/java/org/apache/gravitino/iceberg/integration/test/IcebergTableAuthorizationIT.java:
##########
@@ -272,7 +272,7 @@ void testLoadTable() {
     setSchemaOwner(NORMAL_USER);
     Assertions.assertDoesNotThrow(() -> sql("DESC TABLE %s", tableName));
     // With ownership: non-existent table returns 404 (AnalysisException)
-    Assertions.assertThrowsExactly(
+    Assertions.assertThrows(

Review Comment:
   Follow-up: the experimental suite now uses Spark 4.1.3 rather than 3.5.3. 
The protected assertion hook remains scoped to the experimental subclass; the 
stable Spark 3.4 suite still uses assertThrowsExactly, while the Spark 4.1 
subclass accepts the AnalysisException subtype.



##########
LICENSE.bin:
##########
@@ -212,6 +212,7 @@
    Apache DataSketches Java
    Apache DataSketches Memory
    Apache Iceberg
+   Datastrato Experimental Apache Iceberg

Review Comment:
   Follow-up: after confirming that com.datastrato experimental-iceberg 
artifacts are a repackage of Apache Iceberg rather than a separate project, the 
extra Datastrato entry was removed in 291c6986f9. The existing Apache Iceberg 
LICENSE entry covers the repackaged artifacts.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to