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)) }