apache / apache/arrow-rs-object-store
make azure delegation-key cache configurable
- 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
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