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
{{ message }}
Repository navigation
Floor-priority lane lock for shared-host session builds (FIFO, no starvation) #4995
Session builds on shared hosts (intel lanes S/L, yoga, gx10) queue on plain flock files. flock is not FIFO, so waiters can starve: on 2026-10-09 a critical-path pre-push waited 87 min in lane S behind ~9 waiters while one job held the lock for 2h50m, and floor (release-path) work queued behind session work with no priority.
Proposal: ticket-dir lane wrapper
/tmp/lanes/<lane>/<class>-<ts>-<pid> ticket files; a wrapper runs the job when its ticket sorts first.
Class floor sorts before session; FIFO within a class by timestamp; no preemption of a running job.
Stale tickets are reaped by dead PID. Only a job's own PID is ever killed.
A job holding a lane over 45 min is flagged in the lane log (no kill).
Acceptance
RED/GREEN test: with a session ticket queued first and a floor ticket second, floor runs next; with equal class, order is FIFO; a dead-PID ticket is skipped.
Wrapper sets taskset and nice per lane config; replaces the ad-hoc flock recipes.
Host config changes (labels, units, caps) are out of scope and go through infra.
Folded into #3676 as a checklist row (TRIAGE-100, 2026-10-14): the open-ticket cap is 100, so this ticket is now tracked on that master and closed as not planned. Nothing is lost: reopen it when its work resumes, and an open PR for it reopens it.
Activity
noahgift commentedon Oct 14, 2026
Folded into #3676 as a checklist row (TRIAGE-100, 2026-10-14): the open-ticket cap is 100, so this ticket is now tracked on that master and closed as not planned. Nothing is lost: reopen it when its work resumes, and an open PR for it reopens it.
Agent: aprender-clerk