diff --git a/lib/trino/client/statement_client.rb b/lib/trino/client/statement_client.rb index 1487af9a..1f2c94e6 100644 --- a/lib/trino/client/statement_client.rb +++ b/lib/trino/client/statement_client.rb @@ -208,7 +208,8 @@ def faraday_get_with_retry(uri, &block) return response end - if response.status != 503 # retry only if 503 Service Unavailable + # retry if 502, 503, 504 according to the trino protocol + unless [502, 503, 504].include?(response.status) # deterministic error exception! TrinoHttpError.new(response.status, "Trino API error at #{uri} returned #{response.status}: #{response.body}") end