Uber has developed a context-aware mechanism in shared infrastructure to protect against retry storms. This system establishes error ownership by correlating inbound failures with outbound failures, allowing retries only when the error originates from the service itself. This prevents cascading failures caused by deep dependency chains and fan-out patterns, improving system reliability and user experience. This post details the large-scale automated dependency analysis across Uber's service mesh and introduces an intelligent load manager that detects overload from multiple signals to keep databases stable and fair under pressure, utilizing CoDel queues for controlled delay, a Scorecard engine for per-tenant fairness, and plug-in regulators for specific overload conditions like write bytes, partition keys, memory, and goroutines.
All Uber trails