A production system making Claude API calls observes three distinct error patterns over 24 hours: (1) sporadic 529 errors during business hours, (2) 429 errors with a retry-after header at peak load, and (3) 500 errors on roughly 0.1% of requests at random times. How should the retry and alerting strategy differ for each error type?
Select an answer to reveal the explanation.
Short Explanation and Infographic
Here's the deal — c is correct because each error type has a distinct cause requiring a different response. A 529 (overloaded) means Anthropic's infrastructure is at capacity — exponential backoff with jitter prevents thundering-herd amplification.
Full explanation below image
Full Explanation
C is correct because each error type has a distinct cause requiring a different response. A 529 (overloaded) means Anthropic's infrastructure is at capacity — exponential backoff with jitter prevents thundering-herd amplification. A 429 (rate limit) means the client has exceeded its quota — the correct behavior is to wait exactly the retry-after duration before retrying, not to backoff independently. A 500 (internal API error) is a transient service fault — one immediate retry is reasonable, followed by backoff, but a sustained pattern of 500s indicates a service-side issue requiring an alert. A is wrong because treating all three error types identically with the same retry strategy can worsen 429 situations (ignoring the retry-after header) and delay incident response for 500 patterns. B is wrong because 429 errors are expected in high-throughput systems and are handled correctly by respecting rate limits — they are not a bug. D is wrong because 529 errors under sustained load will not self-resolve without backoff and require active retry management.