Skip to content

Root-cause slow git clone in Docker sandbox: not reproducible, unblock - #28

Open
nishantkluhera wants to merge 1 commit into
issue-6-telegram-round-tripfrom
issue-10-docker-git-clone-slow
Open

Root-cause slow git clone in Docker sandbox: not reproducible, unblock#28
nishantkluhera wants to merge 1 commit into
issue-6-telegram-round-tripfrom
issue-10-docker-git-clone-slow

Conversation

@nishantkluhera

Copy link
Copy Markdown

Full isolation matrix from measured runs: container depth-1 clone 20.1s vs host 29.4s (parity within variance), index-pack dominates at 17.3s, DNS 1-25ms, MTU 1500, HTTP/2-vs-1.1 immaterial, small-repo fixed cost ~1s, full clone 160s/779MB scaling linearly with pack size. The reported 31MB-after-3-minutes profile is ~40x below every measurement taken today on both paths - consistent with a transient upstream/link event, not a bridge defect.

Two operational findings folded in: GH_TOKEN alone does not authenticate bare git-over-HTTPS (needs gh auth setup-git or URL-embedded creds), and --filter=blob:none is strictly SLOWER than plain --depth 1 for a shallow checkout (31s vs 20s).

If the crawl recurs, capture GIT_TRACE_PERFORMANCE + curl -w at that moment per the decision tree in the doc (mershlab/research/).

Closes #10

Merge order: last in the chain - #27 first, then this.

Full isolation matrix from measured runs: container depth-1 clone 20.1s
vs host 29.4s (parity within variance), index-pack dominates at 17.3s,
DNS 1-25ms, MTU 1500, HTTP/2-vs-1.1 immaterial, small-repo fixed cost
~1s, full clone 160s/779MB scaling linearly with pack size. The
reported 31MB-after-3-minutes profile is ~40x below every measurement
taken today on both paths - consistent with a transient upstream/link
event, not a bridge defect.

Two operational findings folded in: GH_TOKEN alone does not
authenticate bare git-over-HTTPS (needs gh auth setup-git or URL-
embedded creds - instant failure, not a hang), and --filter=blob:none
is strictly SLOWER than plain --depth 1 for a shallow checkout (31s vs
20s; checkout degenerates into lazy per-blob fetches).

Recommendation: don't block enablement; use plain depth-1; if the crawl
recurs, capture GIT_TRACE_PERFORMANCE + curl -w at that moment per the
decision tree in the doc.

Closes #10
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.

1 participant