ops: Signal disk-full and eviction capacity pressure #46
Reference in New Issue
Block a user
Delete Branch "ops-disk-full-eviction-signal"
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?
Why
When the disk tier is full or thrashing eviction, operators see what look like random misses with no clear signal that the cache is dropping data. They need to distinguish a cold cache from capacity pressure.
What
/metricscountercapacity_pressure_events(keep existingevictionsas-is)tier(memoryordisk) andreason(evictionorenospc); Info on eviction, Warn on ENOSPCunix.ENOSPC/errors.Ison Unix;ERROR_DISK_FULL/ERROR_HANDLE_DISK_FULLon Windows)#33disk_tier_readynotes in README Quick check and Large Cache InitializationDoes not add occupancy gauges (#41).
How tested
/usr/local/bin/go test -count=1for./steamcache/metrics ./vfs/memory ./vfs/disk ./steamcacheunix.ENOSPCand wrappedos.PathError(no flaky full-disk filesystem tricks)GOOS=windows GOARCH=amd64 go test -c ./vfs/diskcompilesRisks
Rollback
Revert this PR on
develop.Closes #36
Hold — do not merge. CI red on head
d7af699.check-and-testfailed:TestDiskTierSignalMixedPendingReady(steamcache_test.go:1159) — heartbeatX-SteamCache-Disk-Tier="ready", wantpending. Vulncheck green; build/vet/lint green. Your capacity-pressure diff does not touch that path; this looks like the #45 pending-window race biting under-race -shuffle.Also: head parent is
8cebc1f(#45).developtip is8eb3114(#48). Rebase onto currentdevelop, get CI green (re-run or harden that pending/ready race if it keeps flaking), then ping for merge.Scope/#36 look fine on a skim once green:
capacity_pressure_events, keepevictions, portable ENOSPC, README next todisk_tier_ready. Not a Blake gate.d7af699e84to5e22f1054bmain tip moved under this head after #50 landed (
a0e929c5). Compare shows this branch is behind develop by those 2 commits, so mergeable is false.Default-branch CI run 1541 is red on
TestDiskOnlyDelayedAttach(steamcache_test.go:1076— during pending attach, DiskTierReady=1, want 0). This PR head already carries the DiskOnly init-hold fix and was green at run 1539 — landing it after rebase should unred main.Please rebase
ops-disk-full-eviction-signalonto currentdevelop, push, and leave merge to Linus when CI is green again. Holding1.0.26until main is green.7d8dd6ea6ftoe3b2b8de1e