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

yuqi1129 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git


The following commit(s) were added to refs/heads/main by this push:
     new e21970855c [MINOR] test(lance): default the Lance Spark bundle 
baseline to 0.5.1 (#13170)
e21970855c is described below

commit e21970855c75a373579653560a248ae43f644ac7
Author: StormSpirit <[email protected]>
AuthorDate: Sun Sep 20 20:59:23 2026 +0800

    [MINOR] test(lance): default the Lance Spark bundle baseline to 0.5.1 
(#13170)
    
    ### What changes were proposed in this pull request?
    
    Align the default Lance Spark compatibility validation with the declared
    Gravitino 1.3.0 support matrix.
    
    When no `lanceSparkBundleVersions` property is supplied, the normal
    Lance REST integration test now uses the declared and tested `0.5.1`
    bundle as its primary baseline, while `lanceSparkMatrixTest` covers
    `0.2.0`, `0.4.0`, and `0.5.1`.
    
    Explicit `-PlanceSparkBundleVersions=...` values remain targeted
    diagnostic overrides; the supplied list is used as the matrix and its
    first version remains the primary for the normal `test` task.
    
    The existing per-version configurations, bundle preparation tasks,
    isolated classloader, version-specific reports, and serial matrix
    execution are preserved.
    
    The Spark integration example is updated to use the `0.5.1` bundle. No
    production REST code, dependency version, or workflow change is
    included.
    
    ### Why are the changes needed?
    
    The Gravitino 1.3.0 documentation and compatibility workflow declare
    `0.2.0`, `0.4.0`, and `0.5.1` as the verified Lance Spark releases, but
    the Gradle no-property fallback currently contains only `0.4.0` and also
    derives the normal test primary from the first list item.
    
    This makes the default Gradle validation inconsistent with the declared
    compatibility contract and leaves the normal test path behind the
    declared `0.5.1` baseline. This change separates the no-property primary
    selection from matrix ordering while retaining the existing diagnostic
    override behavior.
    
    No Issue is referenced because this is a standalone validation-policy
    alignment for an existing capability, not a production bug fix. The
    baseline is `0.5.1`, the newest release in that matrix; newer releases
    such as `0.7.1` are outside the declared contract and require a separate
    support decision.
    
    ### Does this PR introduce _any_ user-facing change?
    
    No public API, REST protocol, production handler, dependency version, or
    workflow behavior is changed. The integration documentation now shows
    the `0.5.1` Spark bundle as the primary example.
    
    ### How was this patch tested?
    
    - `./gradlew :lance:lance-rest-server:spotlessKotlinGradleCheck
    -PskipWeb=true -PskipDockerTests=true --no-daemon --console=plain` —
    passed.
    - Gradle `--dry-run` task-graph checks for the default primary, default
    matrix, single-version override, and reordered override — passed.
    - `./gradlew :lance:lance-rest-server:test --tests
    '*LanceSparkRESTServiceIT*' -PskipDockerTests=true -PskipWeb=true
    --no-daemon --console=plain` — passed; 13 tests, 0 skipped tests, 0
    failures, 0 errors against the default `0.5.1` primary.
    - `./gradlew :lance:lance-rest-server:lanceSparkMatrixTest
    -PskipDockerTests=true -PskipWeb=true --no-daemon --console=plain` —
    passed; `0.2.0`, `0.4.0`, and `0.5.1` each ran 13 tests with 0 skipped
    tests, 0 failures, 0 errors.
    - `./gradlew :docs:build -PskipWeb=true -PskipDockerTests=true
    --no-daemon --console=plain` — passed.
    
    The Lance Spark integration checks use the embedded test mode with
    Docker-tagged tests skipped; they do not claim multi-container
    deployment coverage.
    
    Signed-off-by: jiangxt2 <[email protected]>
---
 docs/lance-rest-integration.md           |  8 +++++++-
 lance/lance-rest-server/build.gradle.kts | 19 +++++++++++++------
 2 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/docs/lance-rest-integration.md b/docs/lance-rest-integration.md
index 39ab9f6c11..b2b1fb607f 100644
--- a/docs/lance-rest-integration.md
+++ b/docs/lance-rest-integration.md
@@ -87,6 +87,12 @@ Generic Catalog unknown-format loading errors or change the 
Generic Catalog's fo
 Both connectors ship with a multi-version integration test driver so the
 matrix can be re-verified (and extended) without ad-hoc scripting:
 
+For Lance Spark, the default `test` task uses the explicitly verified `0.5.1`
+bundle, while `lanceSparkMatrixTest` uses the declared matrix
+(`0.2.0`, `0.4.0`, and `0.5.1`). Passing `-PlanceSparkBundleVersions=...` is a
+targeted diagnostic override; the supplied versions form the matrix and the
+first supplied version remains the primary for the normal `test` task.
+
 ```bash
 # lance-spark — runs LanceSparkRESTServiceIT once per bundle version.
 # The default list intentionally omits 0.1.0 / 0.1.1: those bundles call the
@@ -202,7 +208,7 @@ logging.basicConfig(level=logging.INFO)
 # Replace /path/to/lance-spark-bundle-3.5_2.12-X.X.XX.jar with your actual JAR 
path and version;
 # refer to the compatibility matrix for supported lance-spark versions.
 os.environ["PYSPARK_SUBMIT_ARGS"] = (
-    "--jars /path/to/lance-spark-bundle-3.5_2.12-0.4.0.jar "
+    "--jars /path/to/lance-spark-bundle-3.5_2.12-0.5.1.jar "
     "--conf 
\"spark.driver.extraJavaOptions=--add-opens=java.base/sun.nio.ch=ALL-UNNAMED\" "
     "--conf 
\"spark.executor.extraJavaOptions=--add-opens=java.base/sun.nio.ch=ALL-UNNAMED\"
 "
     "--master local[1] pyspark-shell"
diff --git a/lance/lance-rest-server/build.gradle.kts 
b/lance/lance-rest-server/build.gradle.kts
index 8f35a43966..b528c63395 100644
--- a/lance/lance-rest-server/build.gradle.kts
+++ b/lance/lance-rest-server/build.gradle.kts
@@ -29,16 +29,23 @@ val scalaVersion: String =
 val sparkVersion: String = libs.versions.spark35.get()
 val scalaCollectionCompatVersion: String = 
libs.versions.scala.collection.compat.get()
 // Comma-separated list of lance-spark-bundle versions to test against.
-// The default is the latest supported version; the integration test matrix
-// (`:lance:lance-rest-server:lanceSparkMatrixTest`) covers every version in
-// this list. Override via `-PlanceSparkBundleVersions=0.2.0,0.4.0`.
+// Without an explicit property, the integration test matrix covers every
+// declared version and the normal test task uses 0.5.1 as its primary bundle.
+// An explicit property is a targeted diagnostic override; its first version
+// remains the primary bundle for compatibility with the existing behavior.
+val lanceSparkBundleVersionsProperty = 
project.properties["lanceSparkBundleVersions"] as? String
 val lanceSparkBundleVersions: List<String> =
-  ((project.properties["lanceSparkBundleVersions"] as? String) ?: "0.4.0")
+  (lanceSparkBundleVersionsProperty ?: "0.2.0,0.4.0,0.5.1")
     .split(",").map { it.trim() }.filter { it.isNotEmpty() }.distinct()
 if (lanceSparkBundleVersions.isEmpty()) {
   throw GradleException("lanceSparkBundleVersions must contain at least one 
version")
 }
-val primaryLanceSparkBundleVersion: String = lanceSparkBundleVersions.first()
+val primaryLanceSparkBundleVersion: String =
+  if (lanceSparkBundleVersionsProperty == null) {
+    "0.5.1"
+  } else {
+    lanceSparkBundleVersions.first()
+  }
 val lanceSparkBundleJarPathProperty = "gravitino.lance.spark.bundle.jar"
 
 fun lanceSparkBundleConfigName(version: String): String =
@@ -262,7 +269,7 @@ tasks {
     group = "verification"
     description =
       "Run LanceSparkRESTServiceIT against every version in 
-PlanceSparkBundleVersions " +
-      "(default: $primaryLanceSparkBundleVersion). Reports land under " +
+      "(default: ${lanceSparkBundleVersions.joinToString(", ")}). Reports land 
under " +
       "build/reports/lance-spark-matrix/<version>/."
     dependsOn(
       lanceSparkBundleVersions.map { named(lanceSparkTestTaskName(it)) }

Reply via email to