Skip to content

Commit 7d8a7fc

Browse files
committed
Fix
1 parent 0e5164c commit 7d8a7fc

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

lib/optimizely/cmab/cmab_client.rb

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -150,14 +150,19 @@ def _do_fetch_with_retry(url, request_body, retry_config, timeout)
150150
backoff = retry_config.retry_delay
151151
last_error = nil
152152

153-
(0..retry_config.max_retries).each do |attempt|
154-
return _do_fetch(url, request_body, timeout)
155-
rescue => e
156-
last_error = e
157-
if attempt < retry_config.max_retries
158-
@logger.info("Retrying CMAB request (attempt: #{attempt + 1} after #{backoff} seconds)...")
159-
sleep(backoff)
160-
backoff = [backoff * (retry_config.backoff_multiplier**(attempt + 1)), retry_config.max_backoff].min
153+
0..retry_config.max_retries).each do |attempt|
154+
begin
155+
return _do_fetch(url, request_body, timeout)
156+
rescue Optimizely::CmabInvalidResponseError
157+
# Do not retry, just re-raise
158+
raise
159+
rescue => e
160+
last_error = e
161+
if attempt < retry_config.max_retries
162+
@logger.info("Retrying CMAB request (attempt: #{attempt + 1} after #{backoff} seconds)...")
163+
sleep(backoff)
164+
backoff = [backoff * (retry_config.backoff_multiplier**(attempt + 1)), retry_config.max_backoff].min
165+
end
161166
end
162167
end
163168

0 commit comments

Comments
 (0)