lance-format / lance-format/lance

feat: Support `cosn://` scheme and dynamic credentials for Tencent Cloud COS

Open
#7,173 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature
Dominant language
Rust
Stars
7.1k
Forks
852
Avg merge
3d 18h
Merged PRs (30d)
272

Description

Summary

Currently, Lance supports Tencent COS via the cos:// scheme, but it lacks:

  1. Support for the cosn:// URI scheme (commonly used in Hadoop/Spark ecosystem)
  2. Dynamic credential refresh mechanism for COS (similar to what AWS/OSS already have)

Motivation

  • In the Hadoop/Spark ecosystem, Tencent COS is typically accessed via cosn:// scheme.
  • For long-running applications, static credentials will expire. A dynamic credential
    provider (similar to the existing DynamicOpenDalStore for OSS) is needed for COS.

Proposed Changes

  • Add cosn:// as a recognized scheme that maps to Tencent COS
  • Generalize the dynamic credential store to support COS credential refresh

Additional Context

I have a working implementation and would like to contribute it as a PR.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing Tencent COS handling for the existing cos:// scheme and reading the DynamicOpenDalStore used for OSS. Check how URI schemes are recognized and how dynamic credentials are refreshed, then verify that cosn:// maps to COS and that long-running applications receive refreshed credentials.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend, cloud
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.