Repository navigation
Lab fetch: HTTP/1.1, fail fast on a stalled connection, retry network errors - #3
Merged
Merged
Conversation
… errors Reported from macOS on 2026-09-19. /labs/prepare waited a long time, then failed with "git fetch failed: fatal: unable to access 'https://github.com/SciMigo/restate-durable-agent-demo/': Error in the HTTP2 framing layer", a known git failure when HTTP/2 goes through some proxies and VPNs. - The fetch runs with http.version=HTTP/1.1; a shallow fetch is no slower that way. - http.lowSpeedLimit=1000 / lowSpeedTime=30: under 1 KB/s for 30 s counts as stalled, so a dead connection fails in half a minute instead of at the timeout. The per-command timeout is now 180 s. - Network failures are retried up to 3 times (after 2 s, then 5 s). A missing commit or repository ("not our ref", "couldn't find remote ref", not found, credentials asked) fails at once. - The final error says how many attempts were made and to check that the computer can reach the host, e.g. through its proxy or VPN. - Error messages name the git subcommand, not "-c". Tests: HTTP/1.1 and stall settings on the fetch, two framing errors then success, giving up after three with the new message, and a missing commit not retried. 171 passed; ruff, format and mypy clean. Fetching SciMigo/restate-durable-agent-demo@e7bdf44 from GitHub with these settings took 0.2 s. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
On macOS, the first real run of the scimigo.com lab panel hit this in
/labs/prepare. It waited a long time, then failed:That's git's HTTP/2 failing through a proxy or VPN.
-c http.version=HTTP/1.1); a shallow fetch is no slower that way.http.lowSpeedLimit=1000andhttp.lowSpeedTime=30, so a dead connection fails in about 30 s instead of at the timeout. The per-command timeout drops from 300 s to 180 s.Tests cover: the HTTP/1.1 and stall settings; two framing errors then success; giving up after three with the new message; and a missing commit not being retried. 171 passed; ruff, format and mypy clean. A real fetch of SciMigo/restate-durable-agent-demo@e7bdf44 with these settings took 0.2 s.
Workaround until this is released: start the runtime with
GIT_CONFIG_COUNT=1 GIT_CONFIG_KEY_0=http.version GIT_CONFIG_VALUE_0=HTTP/1.1.🤖 Generated with Claude Code