You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* SK-3023 v3-release/26.7.29: configurable timeouts + internal-release loop fix [skip ci]
Squashes the release-only history on top of v3 (ceae600) into one commit:
- SK-3023 configurable connect/read/write timeouts for v3 (#374)
- SK-2986 pass PAT_ACTIONS into reusable workflow via workflow_call secret (#375)
- SK-3023 fix internal-release infinite loop via [skip ci] on the bump commit (#377)
- the automated dev version bumps (folded in)
Version: 3.0.0-beta.12-dev.6d1831b. Tree is unchanged from f2eb507.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* SK-3023 guard internal-release against the automated bump commit (v3 release)
Replaces the skip-ci approach with a scoped job guard so the PAT-authored
version bump cannot re-trigger the release, without globally skipping CI
(so PR checks run again).
- internal-release.yml: skip the job when the head commit is an automated bump
- shared-build-and-deploy.yml: drop the skip-ci suffix from the bump commit
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* [AUTOMATED] Private Release 3.0.0-beta.12-dev-cad9a33
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Devesh-Skyflow <Devesh-Skyflow@users.noreply.github.com>
Copy file name to clipboardExpand all lines: README.md
+16-4Lines changed: 16 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -180,14 +180,19 @@ You can control how long a request is allowed to run and whether failed requests
180
180
| Setting | Unit | Default | Description |
181
181
| --- | --- | --- | --- |
182
182
|`timeout`| seconds |`60`| Overall time budget for a request, including any retries and backoff. |
183
+
|`connectTimeout`| seconds |`10`| Time budget for establishing a connection, per attempt. |
184
+
|`readTimeout`| seconds |`10`| Time budget for reading the response, per attempt. |
185
+
|`writeTimeout`| seconds |`10`| Time budget for writing the request, per attempt. |
183
186
|`maxRetries`| count |`0`| Number of retry attempts. `0` disables retries. |
184
187
|`initialRetryDelayMillis`| milliseconds |`500`| Base delay before the first retry. |
185
188
|`maxRetryDelayMillis`| milliseconds |`2000`| Upper bound on the delay between retries. |
186
189
190
+
**How the four timeouts relate:**`timeout` is the *total* ceiling for the whole call — every attempt, every backoff sleep, all counted together. `connectTimeout`, `readTimeout`, and `writeTimeout` each bound a single *phase of one attempt* (connecting, reading, writing). Because the phase timeouts are per attempt, their sum across retries can exceed `timeout` — but `timeout` always wins and cuts the call off. In practice, set `timeout` to cap worst-case blocking, and use the phase timeouts to fail faster on a stalled connection or a slow-but-not-dead server. The three phase timeouts default to the underlying HTTP client's `10` seconds; leaving them unset preserves that default.
191
+
187
192
Each setting is available at two levels:
188
193
189
-
-**Client-wide** — on `Skyflow.builder()`: `.timeout(int)`, `.maxRetries(int)`, `.initialRetryDelayMillis(long)`, `.maxRetryDelayMillis(long)`. Applies to every vault.
190
-
-**Per vault** — on `VaultConfig`: `.setTimeout(int)`, `.setMaxRetries(int)`, `.setInitialRetryDelayMillis(long)`, `.setMaxRetryDelayMillis(long)`. Applies to that vault only.
194
+
-**Client-wide** — on `Skyflow.builder()`: `.timeout(int)`, `.connectTimeout(int)`, `.readTimeout(int)`, `.writeTimeout(int)`, `.maxRetries(int)`, `.initialRetryDelayMillis(long)`, `.maxRetryDelayMillis(long)`. Applies to every vault.
195
+
-**Per vault** — on `VaultConfig`: `.setTimeout(int)`, `.setConnectTimeout(int)`, `.setReadTimeout(int)`, `.setWriteTimeout(int)`, `.setMaxRetries(int)`, `.setInitialRetryDelayMillis(long)`, `.setMaxRetryDelayMillis(long)`. Applies to that vault only.
191
196
192
197
**Precedence:** a value set on `VaultConfig` (per vault) overrides the client-wide value set on `Skyflow.builder()`, which overrides the SDK default. Resolution is per field, so a vault can override just `timeout` and still inherit the client-wide retry settings.
0 commit comments