apache / apache/arrow-rs-object-store

make azure delegation-key cache configurable

Open
#807 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
Rust
Stars
322
Forks
212
Avg merge
5d 2h
Merged PRs (30d)
10

Description

I verified this with my own azure storage account, it works great. Thanks for adding this!

I think there are a few follow-ups could make the delegation-key cache more flexible and robust:
- Make `DELEGATION_KEY_VALIDITY` optionally configurable so users can limit how long reusable keys remain valid. This setting should never shorten a key below the requested SAS lifetime.
- Remove the fixed `DELEGATION_KEY_MIN_TTL`. Azure returns the key’s actual `SignedExpiry`, so cache it and reuse the key only when `SignedExpiry` is later than the requested SAS expiry. Otherwise, fetch a new key.
- Treat Azure’s returned `SignedStart` and `SignedExpiry` as authoritative. Return a clear error if they are malformed or do not cover the full SAS lifetime.

_Originally posted by @kevinjqliu in https://github.com/apache/arrow-rs-object-store/issues/781#issuecomment-5008586172_

Contributor guide

Open the contributing guide

Research direction

Start by locating the Azure delegation-key cache and the code that handles the returned SignedStart and SignedExpiry values. Trace how requested SAS lifetimes are compared with cached keys, then verify the configurable validity, cache reuse, malformed dates, and insufficient coverage cases against the issue requirements.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.