Skip to content

[Feature] Support native OSS storage for Lance catalog #67131

Description

@FANNG1

Search before asking

  • I had searched in the issues and found no dedicated Lance OSS support issue.

Description

PR #66805 made Lance storage options provider-aware and forwards one Lance-native option map from the FE to the BE. It intentionally left non-S3 providers in pass-through mode: Doris still contributes no static OSS options, and a Lance filesystem catalog rejects an oss:// warehouse.

Add native Alibaba Cloud OSS support for Lance catalogs. Doris should translate its typed oss.* properties to Lance's public OSS option vocabulary:

Doris property Lance storage option
oss.endpoint oss_endpoint
oss.access_key oss_access_key_id
oss.secret_key oss_secret_access_key
oss.region oss_region
oss.session_token oss_security_token

Lance normalizes these public names internally to endpoint, access_key_id, access_key_secret, region, and security_token. When a Namespace vends either spelling, Doris should collapse only these known aliases before merging so that the vended value deterministically overrides the static catalog value. Unknown Namespace options must continue to pass through unchanged.

The Lance filesystem catalog should also accept an oss:// warehouse.

Use case

  1. Read Lance datasets directly from Alibaba Cloud OSS through a filesystem catalog configured with Doris oss.* properties.
  2. Read oss:// Lance tables described by a REST Namespace that vends OSS storage options, including a catalog with no static credentials in Doris.

Acceptance requires FE metadata access and a BE scan for both catalog types.

Related issues

Not in scope: role-based credential vending, STS credential refresh during a scan, a new Thrift envelope, or static support for other object-store providers.

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

  • I agree to follow this project's Code of Conduct.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions