From 7d325a825aa729d81d388525cb0004fe80e386f7 Mon Sep 17 00:00:00 2001 From: Jeff Schnitter Date: Tue, 18 Nov 2025 16:49:26 -0800 Subject: [PATCH] fix: only retry on 429 rate limit errors, not 5xx server errors Changed status_forcelist from [500, 502, 503, 504] to [429] to avoid wasting time retrying requests that are unlikely to succeed. Client errors (4xx) and server errors (5xx) typically won't succeed on retry, while rate limit errors (429) benefit from retry with backoff. Fixes #172 --- cortexapps_cli/cortex_client.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cortexapps_cli/cortex_client.py b/cortexapps_cli/cortex_client.py index 470b0ee..9692efd 100644 --- a/cortexapps_cli/cortex_client.py +++ b/cortexapps_cli/cortex_client.py @@ -98,7 +98,7 @@ def __init__(self, api_key, tenant, numeric_level, base_url='https://api.getcort max_retries=Retry( total=3, backoff_factor=0.3, - status_forcelist=[500, 502, 503, 504], # Removed 429 - we avoid it with rate limiting + status_forcelist=[429], # Only retry on rate limit errors allowed_methods=["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"], respect_retry_after_header=True )