yuqi1129 opened a new pull request, #11060: URL: https://github.com/apache/gravitino/pull/11060
### What changes were proposed in this pull request? Upgrades the Lance dependencies: - `lance-core`: `2.0.1` → `4.0.1` - `lance-namespace-core`: `0.4.5` → `0.7.5` API-breaking changes addressed: 1. **`Transaction` → `SourcedTransaction`** in `LancePartitionStatisticStorage`: `Dataset.newTransactionBuilder()` now returns `SourcedTransaction.Builder` instead of `Transaction.Builder`. 2. **`CreateEmptyTableRequest/Response` → `DeclareTableRequest/Response`**: `createEmptyTable()` was removed from the `LanceNamespace` interface; all usages migrated to `declareTable()`. 3. **`TableApi.createTable()` signature**: Two new optional parameters (`properties`, `storageOptions`) added; pass `null` for both since Gravitino reads from HTTP headers. 4. **`AlterColumnsEntry.rename` is now `JsonNullable<String>`**: Added a JAX-RS `@Provider` (`JsonNullableMapperProvider`) that registers `JsonNullableModule` with the `ObjectMapper` used by the lance-rest-server. Testability fix: - Introduced a package-private `DatasetHolder` wrapper class in `LancePartitionStatisticStorage` so the Caffeine cache holds `DatasetHolder` instead of `Dataset` directly. lance 4.0.1's `Dataset` has many JNI native methods that prevent Mockito's inline mock-maker from instrumenting it. ### Why are the changes needed? lance 4.0.1 and lance-namespace 0.7.5 are the latest stable releases. Keeping dependencies up to date ensures we receive bug fixes, performance improvements, and security patches. Fix: #10983 ### Does this PR introduce _any_ user-facing change? No. The REST API contract is unchanged. The internal migration from `createEmptyTable` to `declareTable` is transparent to users. ### How was this patch tested? All unit tests in `:core:test`, `:lance:lance-common:test`, and `:lance:lance-rest-server:test` pass (including the previously failing `testCloseReleasesCachedDatasetBeforeAllocator` and `testAlterColumns`). -- 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]
