@@ -546,19 +546,24 @@ api_get_request(Service, Path) ->
546
546
api_get_request_with_retries (Service , Path , ? MAX_RETRIES , ? LINEAR_BACK_OFF_MILLIS ).
547
547
548
548
549
- -spec api_get_request_with_retries (string (), path (), integer (), integer ()) -> result ().
550
- % % @doc Invoke an API call to an AWS service with retries.
551
- % % @end
549
+ -spec api_get_request_with_retries (string (), path (), integer (), integer ()) -> result ().
550
+ % % @doc Invoke an API call to an AWS service with retries.
551
+ % % @end
552
552
api_get_request_with_retries (_ , _ , 0 , _ ) ->
553
553
rabbit_log :warning (" Request to AWS service has failed after ~b retries" , [? MAX_RETRIES ]),
554
554
{error , " AWS service is unavailable" };
555
555
api_get_request_with_retries (Service , Path , Retries , WaitTimeBetweenRetries ) ->
556
556
ensure_credentials_valid (),
557
557
case get (Service , Path ) of
558
- {ok , {_Headers , Payload }} -> rabbit_log :debug (" AWS request: ~s~n Response: ~p " , [Path , Payload ]),
559
- {ok , Payload };
560
- {error , {credentials , _ }} -> {error , credentials };
561
- {error , Message , _ } -> rabbit_log :warning (" Error occurred ~s~n Will retry AWS request, remaining retries: ~b " , [Message , Retries ]),
562
- timer :sleep (WaitTimeBetweenRetries ),
563
- api_get_request_with_retries (Service , Path , Retries - 1 , WaitTimeBetweenRetries )
558
+ {ok , {_Headers , Payload }} -> rabbit_log :debug (" AWS request: ~s~n Response: ~p " , [Path , Payload ]),
559
+ {ok , Payload };
560
+ {error , {credentials , _ }} -> {error , credentials };
561
+ {error , Message , Response } -> rabbit_log :warning (" Error occurred: ~s " , [Message ]),
562
+ case Response of
563
+ {_ , Payload } -> rabbit_log :warning (" Failed AWS request: ~s~n Response: ~p " , [Path , Payload ]);
564
+ _ -> ok
565
+ end ,
566
+ rabbit_log :warning (" Will retry AWS request, remaining retries: ~b " , [Retries ]),
567
+ timer :sleep (WaitTimeBetweenRetries ),
568
+ api_get_request_with_retries (Service , Path , Retries - 1 , WaitTimeBetweenRetries )
564
569
end .
0 commit comments