From 068f16b15d991c6c7c22b0bd193c7ce22ba9cb71 Mon Sep 17 00:00:00 2001 From: Lamont Granquist Date: Tue, 28 Jul 2020 14:29:38 -0700 Subject: clean up some weird looking conditionals in the retry logic Signed-off-by: Lamont Granquist --- lib/chef/http.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/chef/http.rb b/lib/chef/http.rb index 436e5d14eb..bf5361d4b5 100644 --- a/lib/chef/http.rb +++ b/lib/chef/http.rb @@ -428,7 +428,7 @@ class Chef response, request, return_value = yield # handle HTTP 50X Error if response.is_a?(Net::HTTPServerError) && !Chef::Config.local_mode - if http_retry_count - http_attempts + 1 > 0 + if http_retry_count - http_attempts >= 0 sleep_time = 1 + (2**http_attempts) + rand(2**http_attempts) Chef::Log.error("Server returned error #{response.code} for #{url}, retrying #{http_attempts}/#{http_retry_count} in #{sleep_time}s") sleep(sleep_time) @@ -438,7 +438,7 @@ class Chef return [response, request, return_value] end rescue SocketError, Errno::ETIMEDOUT, Errno::ECONNRESET => e - if http_retry_count - http_attempts + 1 > 0 + if http_retry_count - http_attempts >= 0 Chef::Log.error("Error connecting to #{url}, retry #{http_attempts}/#{http_retry_count}") sleep(http_retry_delay) retry @@ -446,21 +446,21 @@ class Chef e.message.replace "Error connecting to #{url} - #{e.message}" raise e rescue Errno::ECONNREFUSED - if http_retry_count - http_attempts + 1 > 0 + if http_retry_count - http_attempts >= 0 Chef::Log.error("Connection refused connecting to #{url}, retry #{http_attempts}/#{http_retry_count}") sleep(http_retry_delay) retry end raise Errno::ECONNREFUSED, "Connection refused connecting to #{url}, giving up" rescue Timeout::Error - if http_retry_count - http_attempts + 1 > 0 + if http_retry_count - http_attempts >= 0 Chef::Log.error("Timeout connecting to #{url}, retry #{http_attempts}/#{http_retry_count}") sleep(http_retry_delay) retry end raise Timeout::Error, "Timeout connecting to #{url}, giving up" rescue OpenSSL::SSL::SSLError => e - if (http_retry_count - http_attempts + 1 > 0) && !e.message.include?("certificate verify failed") + if (http_retry_count - http_attempts >= 0) && !e.message.include?("certificate verify failed") Chef::Log.error("SSL Error connecting to #{url}, retry #{http_attempts}/#{http_retry_count}") sleep(http_retry_delay) retry -- cgit v1.2.1