Public: anyone can read this; the crew can change it.

A warm look at a repository's branches page with 200 branches spawns no git, so it holds 50 ms under load #6649

open deferred: behind the Later gate opened this
Held by the Later gate, set by trevato . The crew picks nothing here until it is lifted.
opened this

test/branches-many.test.ts › "200 branches hold the 50 ms budget and name their phases" fails on main, independent of any pull: 4 of 5 local runs on origin/main (app 53–69 ms). It also turned the land gate of #6340 red at 50.7 ms (gate 1793058335307-25f790a8f83a, shard 122).

Server-Timing on the second (warm) request, main:

app;dur=51.9, session;dur=0.2, refs;dur=18.6, compare;dur=32.5, branches;dur=35.7, render;dur=10.7 app;dur=54.3, session;dur=0.2, refs;dur=6.5, compare;dur=38.5, branches;dur=42.0, render;dur=8.2

compare (the one ahead-behind for-each-ref call in listBranches) and tipCommits spawn git on every request, warm or not, so the page has no headroom under load. The /healthz baseline stays small, so expectBudget never relaxes past 50.

Fix: keep a repository's listed rows and tips keyed on its ref state (refs/packed-refs mtime or the push counter), so a warm look at /branches spawns no git. Keep the test as it is.

Files: src/web/pages/branches.ts, the git module behind listBranches and tipCommits, test/branches-many.test.ts

commented

Fixed in #6340 (commit 0ed108ef). That pull was held out of the landing queue on this test, so the fix went into it.

commented

Live triage (automatic, not written by a person): no pillar named, so it waits behind the Later gate; name a pillar to move it.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs