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
fix: add eviction to unbounded rate-limit/cache/lock maps
- RateLimitStep.buckets: lazy cleanup goroutine (sync.Once), evicts
buckets inactive for 10min, Stop() closes stop channel
- gatewayRateLimiter.buckets: same pattern, started/stopped via
APIGateway.Start/Stop lifecycle
- WebhookSender.deadLetter: 10k cap with oldest-first trim, hourly
purge of entries older than 24h; Start/Stop lifecycle
- globalOAuthCache: sync.Once starts 5min cleanup goroutine on first
getOrCreate; evicts entries whose token has expired
- InMemoryLock.locks: lastUsed tracked per entry, 10min cleanup tick
evicts idle entries older than 30min; Start/Stop methods added
All cleanup goroutines include panic recovery and stop channels.
Tests added for each map verifying shrinkage after backdated entries.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
0 commit comments