@@ -73,7 +73,7 @@ def fetch_decision(rule_id, user_id, attributes, cmab_uuid, timeout: MAX_WAIT_TI
7373 } ]
7474 }
7575
76- if @retry_config
76+ if @retry_config && @retry_config . max_retries . to_i > 0
7777 _do_fetch_with_retry ( url , request_body , @retry_config , timeout )
7878 else
7979 _do_fetch ( url , request_body , timeout )
@@ -95,27 +95,27 @@ def _do_fetch(url, request_body, timeout)
9595 response = @http_client . post ( url , json : request_body , headers : headers , timeout : timeout )
9696 rescue StandardError => e
9797 error_message = Optimizely ::Helpers ::Constants ::CMAB_FETCH_FAILED % e . message
98- @logger . error ( error_message )
98+ @logger . error ( Logger :: ERROR , error_message )
9999 raise CmabFetchError , error_message
100100 end
101101
102102 unless ( 200 ..299 ) . include? ( response . status_code )
103103 error_message = Optimizely ::Helpers ::Constants ::CMAB_FETCH_FAILED % response . status_code
104- @logger . error ( error_message )
104+ @logger . error ( Logger :: ERROR , error_message )
105105 raise CmabFetchError , error_message
106106 end
107107
108108 begin
109109 body = response . json
110110 rescue JSON ::ParserError
111111 error_message = Optimizely ::Helpers ::Constants ::INVALID_CMAB_FETCH_RESPONSE
112- @logger . error ( error_message )
112+ @logger . error ( Logger :: ERROR , error_message )
113113 raise CmabInvalidResponseError , error_message
114114 end
115115
116116 unless validate_response ( body )
117117 error_message = Optimizely ::Helpers ::Constants ::INVALID_CMAB_FETCH_RESPONSE
118- @logger . error ( error_message )
118+ @logger . error ( Logger :: ERROR , error_message )
119119 raise CmabInvalidResponseError , error_message
120120 end
121121
@@ -158,14 +158,14 @@ def _do_fetch_with_retry(url, request_body, retry_config, timeout)
158158 rescue => e
159159 last_error = e
160160 if attempt < retry_config . max_retries
161- @logger . info ( "Retrying CMAB request (attempt: #{ attempt + 1 } after #{ backoff } seconds)..." )
161+ @logger . info ( Logger :: INFO , "Retrying CMAB request (attempt: #{ attempt + 1 } after #{ backoff } seconds)..." )
162162 sleep ( backoff )
163163 backoff = [ backoff * ( retry_config . backoff_multiplier **( attempt + 1 ) ) , retry_config . max_backoff ] . min
164164 end
165165 end
166166
167167 error_message = Optimizely ::Helpers ::Constants ::CMAB_FETCH_FAILED % ( last_error &.message || 'Max retries exceeded for CMAB request.' )
168- @logger . error ( error_message )
168+ @logger . error ( Logger :: ERROR , error_message )
169169 raise CmabFetchError , error_message
170170 end
171171 end
0 commit comments