Skip to content

Commit cbbc3ff

Browse files
Tighten comments added in the reqwest 0.13 bump
Each reqwest_0_12 site was repeating the same reqsign 0.16 / iceberg fork story. Keep the full explanation once at the workspace declaration and leave one-line pointers at the consuming sites (deny.toml, the storage-types Cargo.toml, and the AwsCredentialLoad impl). Also trim the feature-flag comment on reqwest and the TransportOptions note in azure.rs to the essentials. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 907e7b7 commit cbbc3ff

5 files changed

Lines changed: 13 additions & 28 deletions

File tree

Cargo.toml

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -443,18 +443,12 @@ rdkafka = { version = "0.29.0", features = ["cmake-build", "libz-static", "ssl-v
443443
rdkafka-sys = { version = "4.3.0", features = ["cmake-build", "libz-static", "ssl-vendored", "zstd"] }
444444
regex = "1.12.3"
445445
regex-syntax = "0.8.10"
446-
# Starting in reqwest 0.13, default features changed: `default-tls` now
447-
# activates rustls (which pulls in banned rustls/hyper-rustls), and
448-
# `system-proxy` became an opt-in feature that was implicit before. We
449-
# disable default features and list everything explicitly so the TLS
450-
# backend stays on native-tls. Switching to rustls is tracked separately
451-
# in the crypto migration plan. `query` became opt-in in 0.13 and is
452-
# used by the cloud-api and frontegg-client crates.
446+
# reqwest 0.13 changed defaults: `default-tls` now pulls in rustls
447+
# (banned) and `query`/`system-proxy` are opt-in. List features
448+
# explicitly to stay on native-tls.
453449
reqwest = { version = "0.13.2", default-features = false, features = ["blocking", "charset", "cookies", "http2", "json", "native-tls", "native-tls-vendored", "query", "stream", "system-proxy"] }
454-
# Used by mz-storage-types to satisfy the `reqsign::AwsCredentialLoad`
455-
# trait signature (reqsign 0.16, via our iceberg fork, is pinned to
456-
# reqwest 0.12). Remove once iceberg bumps to a reqsign that supports
457-
# reqwest 0.13.
450+
# Satisfies reqsign 0.16's `AwsCredentialLoad` trait, pulled in via our
451+
# iceberg fork and pinned to reqwest 0.12. Remove once iceberg bumps.
458452
reqwest_0_12 = { package = "reqwest", version = "0.12", default-features = false }
459453
reqwest-middleware = { version = "0.5.1", features = ["json"] }
460454
reqwest-retry = "0.9.1"

deny.toml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,9 +128,7 @@ skip = [
128128
{ name = "fallible-iterator", version = "0.3.0" },
129129
# arrow
130130
{ name = "hashbrown", version = "0.16.1" },
131-
# Used via `reqwest_0_12` workspace alias to satisfy reqsign 0.16's
132-
# `AwsCredentialLoad` trait (dragged in by our iceberg fork).
133-
# Remove once iceberg bumps to a reqsign that supports reqwest 0.13.
131+
# reqwest_0_12 workspace alias; see Cargo.toml.
134132
{ name = "reqwest", version = "0.12" },
135133
]
136134

src/persist/src/azure.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -70,13 +70,11 @@ impl AzureBlobConfig {
7070
) -> Result<Self, Error> {
7171
let client = if account == EMULATOR_ACCOUNT {
7272
info!("Connecting to Azure emulator");
73-
// `TransportOptions::new(Arc::new(reqwest::Client))` used to plumb
74-
// `knobs.operation_attempt_timeout/read_timeout/connect_timeout`
75-
// here. After the reqwest 0.13 bump, azure_core 0.21 pins reqwest
76-
// 0.12 internally, so our 0.13 client no longer implements its
77-
// `HttpClient` trait. The azure_sdk migration (separate PR)
78-
// restores this plumbing against the new SDK; the outer
79-
// `operation_timeout` still applies via the retry policy.
73+
// Per-attempt/read/connect-timeout plumbing via `TransportOptions`
74+
// was dropped: azure_core 0.21 pins reqwest 0.12 internally, so our
75+
// 0.13 client no longer satisfies its `HttpClient` trait. Restored
76+
// on the new SDK in the azure_sdk migration PR; `operation_timeout`
77+
// still applies via the retry policy.
8078
ClientBuilder::with_location(
8179
CloudLocation::Emulator {
8280
address: url.domain().expect("domain for Azure emulator").to_string(),

src/storage-types/Cargo.toml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,7 @@ prost.workspace = true
6161
rdkafka.workspace = true
6262
regex.workspace = true
6363
reqwest.workspace = true
64-
# The `iceberg::io::AwsCredentialLoad` trait (re-exported from reqsign 0.16)
65-
# is defined against reqwest 0.12, so impls must use that version's
66-
# `reqwest::Client`. Remove once the iceberg fork bumps to a reqsign that
67-
# supports reqwest 0.13.
64+
# For impls of `iceberg::io::AwsCredentialLoad` (reqsign 0.16); see workspace Cargo.toml.
6865
reqwest_0_12 = { workspace = true }
6966
serde.workspace = true
7067
serde_json = { workspace = true, features = ["preserve_order"] }

src/storage-types/src/connections.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,7 @@ impl AwsSdkCredentialLoader {
100100
impl AwsCredentialLoad for AwsSdkCredentialLoader {
101101
async fn load_credential(
102102
&self,
103-
// reqsign 0.16 (via the iceberg fork) is pinned to reqwest 0.12, so
104-
// this impl must match that version's `Client` type rather than the
105-
// workspace reqwest 0.13.
103+
// reqsign 0.16 trait signature; see `reqwest_0_12` in workspace Cargo.toml.
106104
_client: reqwest_0_12::Client,
107105
) -> anyhow::Result<Option<AwsCredential>> {
108106
let creds = self

0 commit comments

Comments
 (0)