Skip to content

[#8919] improve(lance-table): Supports object store configurations for lance table storage#9185

Merged
yuqi1129 merged 1 commit intoapache:mainfrom
youngyjd:lance-object-store-configuration
Nov 20, 2025
Merged

[#8919] improve(lance-table): Supports object store configurations for lance table storage#9185
yuqi1129 merged 1 commit intoapache:mainfrom
youngyjd:lance-object-store-configuration

Conversation

@youngyjd
Copy link
Copy Markdown
Contributor

@youngyjd youngyjd commented Nov 20, 2025

What changes were proposed in this pull request?

This PR adds support for object store configurations for Lance tables in the generic lakehouse catalog:

  1. Property prefix support: Introduced lance.storage.* as a configurable property prefix at catalog, schema, and table levels for Lance table storage options
  2. Property merging logic: Implemented hierarchical property resolution where table properties override schema properties, which override catalog config
  3. Metadata updates: Added lance.storage.* prefix to GenericLakehouseCatalogPropertiesMetadata, GenericLakehouseSchemaPropertiesMetadata, and GenericLakehouseTablePropertiesMetadata
  4. Storage configuration passing: Modified LanceCatalogOperations.createTable() to extract lance.storage.* properties and pass them to Lance's WriteParams.Builder().withStorageOptions()
    Refactoring: Restructured table location and storage property calculation logic in GenericLakehouseCatalogOperations

Why are the changes needed?

Lance tables need to support various object storage backends (S3, GCS, ADLS, OSS) with specific configurations like credentials, endpoints, and regions. Without this feature, users cannot configure Lance tables to work with cloud object stores, limiting Lance to local file systems only. This change enables production deployments of Lance tables on cloud storage.

Fix: #8919

Does this PR introduce any user-facing change?

Yes, users can now configure Lance table storage options using properties with the lance.storage. prefix at catalog, schema, or table level.

Properties follow precedence: table > schema > catalog.

How was this patch tested?

By hand (manual testing).

…ons for Lance table (apache#8920)

- The properties with the prefix `lance.storage.` will be used for lance
table storage

Fix: apache#8919

no

by hand
@youngyjd youngyjd marked this pull request as ready for review November 20, 2025 04:04
@yuqi1129 yuqi1129 merged commit 904f635 into apache:main Nov 20, 2025
26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Subtask] Supports object store configurations for Lance table

3 participants