fix: coalesce concurrent cache-miss fetches (thundering herd) #75
Reference in New Issue
Block a user
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?
On a lock miss
Engine.Fetch(internal/proxy/engine.go:77) sleeps a flat 500ms once, tries the store, and otherwise fetches upstream unlocked anyway. A cold-cache stampede still hits upstream N times. Use a store-poll loop up to the lock TTL and/or singleflight for in-process coalescing.