Skip to content

Fix Azure URL parsing#604

Merged
tustvold merged 1 commit into
apache:mainfrom
tustvold:revert-broken-az-url
Jan 20, 2026
Merged

Fix Azure URL parsing#604
tustvold merged 1 commit into
apache:mainfrom
tustvold:revert-broken-az-url

Conversation

@tustvold

@tustvold tustvold commented Jan 14, 2026

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Rationale for this change

#399 introduced a breaking change to the way that we parse az:// URLs. This IMO reflects a more sensible URL encoding, but this doesn't match the URL encoding expected by the rest of this crate, which in turn is borrowed from fsspec.

What changes are included in this PR?

Reverts the URL parsing change in #399

Are there any user-facing changes?

Technically this is a bug fix, but might make sense to wait for a breaking release.

Comment thread src/parse.rs
/// - `s3://bucket/path` -> [`AmazonS3`](crate::aws::AmazonS3) (also supports `s3a`)
/// - `gs://bucket/path` -> [`GoogleCloudStorage`](crate::gcp::GoogleCloudStorage)
/// - `az://account/container/path` -> [`MicrosoftAzure`](crate::azure::MicrosoftAzure) (also supports `adl`, `azure`, `abfs`, `abfss`)
/// - `[az|abfs[s]]://container[@<account>.<host>]/path` -> [`MicrosoftAzure`](crate::azure::MicrosoftAzure)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I opted to drop azure as it is a custom format AFAICT, and adl as it is deprecated by azure.

Whilst still supported for compatibility, people shouldn't be using them.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to be clear, you stopped documenting that azure is supported, but the code still supports it

Comment thread src/parse.rs
"az://account/container",
(ObjectStoreScheme::MicrosoftAzure, ""),
"az://container/path",
(ObjectStoreScheme::MicrosoftAzure, "path"),

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@alamb alamb left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @tustvold . I just had one question about a test

FYI @kylebarron

Comment thread src/parse.rs
/// - `s3://bucket/path` -> [`AmazonS3`](crate::aws::AmazonS3) (also supports `s3a`)
/// - `gs://bucket/path` -> [`GoogleCloudStorage`](crate::gcp::GoogleCloudStorage)
/// - `az://account/container/path` -> [`MicrosoftAzure`](crate::azure::MicrosoftAzure) (also supports `adl`, `azure`, `abfs`, `abfss`)
/// - `[az|abfs[s]]://container[@<account>.<host>]/path` -> [`MicrosoftAzure`](crate::azure::MicrosoftAzure)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to be clear, you stopped documenting that azure is supported, but the code still supports it

Comment thread src/parse.rs
(ObjectStoreScheme::MicrosoftAzure, "path"),
),
(
"az://account/container/path",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we please keep this test so it is clearer what is the difference in behavior? I am not sure what this URL will parse to now

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is here #604 (comment)

Just renamed

@kylebarron kylebarron left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems fine to me; I apologize for the breakage

@tustvold
tustvold merged commit 9f4f679 into apache:main Jan 20, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

az:// <container> not work as expected

3 participants