docs(s3): correct client_timeout default — 30s (object_store), not "no timeout"#1912
Merged
Merged
Conversation
Contributor
✅ Pull with Spice PassedPassing checks:
|
Contributor
|
🚀 deployed to https://78c63c7e.spiceai-org-website.pages.dev |
lukekim
approved these changes
Jul 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The S3 connector's
client_timeoutrow says "No timeout by default." This is incorrect — the effective default is a 30-second request timeout.client_timeouthas no.default()on itsParameterSpec(crates/runtime/src/dataconnector/s3.rs:193), but "no.default()" does not mean "no timeout." When the param is unset, the S3 object store is built fromClientOptions::default()(crates/runtime-object-store/src/registry/mod.rs:321; the param only overrides viawith_timeoutwhen present, line 332).object_store0.13.2ClientOptions::default()setstimeout: Some(Duration::from_secs(30))(object_store-0.13.2/src/client/mod.rs:358, with the comment "we opt for a slightly higher default timeout of 30 seconds").The connector's own timeout error message corroborates this: when
client_timeoutis unset it prints the effective value as"30s (default)"(s3.rs:386,.unwrap_or("30s (default)")).Flip-flop note
The "No timeout by default" wording was introduced by #1455, which reasoned that because the
ParameterSpechas no.default(), the value isNone= no timeout. That is the documented "trace the runtime default, not the ParameterSpec declaration" trap: the downstreamClientOptions::default()supplies the 30s default. This PR restores the pre-#1455 "30s" default with the behavioral evidence above (the in-source"30s (default)"string), rather than re-flipping blindly.What changed
No timeout by default.→Defaults to `30s` (the underlying object store HTTP client default) when unset.on the S3 connector page, propagated to every versioned copy that carries the row (vNext + version-1.11.x + version-2.0.x + version-2.1.x, 4 files).Source PRs
trunk:crates/runtime/src/dataconnector/s3.rs:193,386,crates/runtime-object-store/src/registry/mod.rs:321,332,object_store-0.13.2/src/client/mod.rs:358.Test plan
grep -rn "No timeout by default" website/→ 0 hits after fixnpm run buildnot run in this environment (no node_modules; full versioned build is memory-constrained) — CIDeploycheck is the authoritative link/tag gate.