apache / apache/arrow-rs-object-store

Allow bypassing URL redaction in Azure client

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

Description

**Is your feature request related to a problem or challenge? Please describe what you are trying to do.**

The Azure client currently checks for sensitive information (e.g., SAS tokens) in the URL and, if it finds some, replaces the full URL with 'REDACTED'.

https://github.com/apache/arrow-rs-object-store/blob/40d30c6710d8d43d11d44e377a51602513f6dfac/src/azure/client.rs#L1007-L1026

https://github.com/apache/arrow-rs-object-store/blob/40d30c6710d8d43d11d44e377a51602513f6dfac/src/azure/credential.rs#L142-L152

In theory, it's great that this library prevents accidentally printing secrets in error messages. However, there are situations where you want to know exactly which request was sent, especially when you're debugging.

Currently, I'm trying to debug a failed network request to Azure blob storage, but all I see is:

```
Error performing GET REDACTED in 312.764628ms, after 2 retries, max_retries: 2, retry_timeout: 10s
```

**Describe the solution you'd like**

I want to be able to configure if a request URL gets redacted or not. Ideally, I can configure the behaviour via an environment variable.

**Describe alternatives you've considered**

Alternatively, the library could only redact the query parameters (i.e., where the SAS token is stored), but not the URL itself.

**Additional context**

I'm using this library via polars.

Contributor guide

Open the contributing guide

Research direction

Start by reading the URL handling in src/azure/client.rs at lines 1007-1026 and src/azure/credential.rs at lines 142-152. Trace how redacted URLs reach request errors and determine where configurable behavior would belong. Done means users can choose whether full URLs are redacted, preferably through an environment variable, while preserving the existing safe default.

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
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.