Problem
All gateway replicas start a time.NewTicker(5 * time.Second) at process start. With many MCPServer pods they all hit the Kubernetes ConfigMap API at the same wall-clock tick, creating a thundering herd every 5 seconds.
Fix
Add up to 2s of random jitter to the ticker interval in policy_cache.go:
jitter := time.Duration(rand.N(2000)) * time.Millisecond
ticker := time.NewTicker(5*time.Second + jitter)
Files
services/mcp-gateway/policy_cache.go
Problem
All gateway replicas start a
time.NewTicker(5 * time.Second)at process start. With many MCPServer pods they all hit the Kubernetes ConfigMap API at the same wall-clock tick, creating a thundering herd every 5 seconds.Fix
Add up to 2s of random jitter to the ticker interval in
policy_cache.go:Files
services/mcp-gateway/policy_cache.go