Extend the process-wide git fork cap beyond status fetches #537
Labels
No labels
backend
bug
chore
duplication
effort:complex
effort:medium
effort:trivial
enhancement
follow-up
frontend
fullstack
priority:high
ready-for-agent
refactor
security
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
dries/ocman#537
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
From the review of PR #526 (fix: cap git status forks process-wide). Scope question raised there; filing so it doesn't get lost.
PR #526 caps concurrent
git statussubprocess forks via a package-level semaphore ininternal/git/info.go(fetchSlots, acquired incache.lookuparoundfetchFromGit; cache hits bypass it; release is panic-safe after commitbfc9c964). The fork-pressure rationale — many sessions/projects polling at once starving the chat path — applies equally to the other git subprocess paths ininternal/gitthat remain uncapped:Decide whether status-only was intentional (status is the high-frequency poller; the others are user-action-driven) or whether the cap should move down a layer — e.g. a shared semaphore in
internal/gitexecso every fork goes through one gate, with the status cache keeping its bypass-on-hit behaviour. If extending: keep the panic-safe defer pattern and the-raceregression tests frominternal/git/info_test.goas the template.