diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2017-06-19T16·13+0200 |
---|---|---|
committer | Eelco Dolstra <edolstra@gmail.com> | 2017-06-19T16·51+0200 |
commit | 1c969611ba962a860744b2718fa6f989e7be5165 (patch) | |
tree | fa71dffca527267bc78720e17d8704c70d7567dc /src/libstore/s3-binary-cache-store.cc | |
parent | 00aa7c6705c073aab8b24ae945ea9a09d5d256aa (diff) |
Suppress "will retry in N ms" for non-retriable errors
Newer versions of aws-sdk-cpp call CalculateDelayBeforeNextRetry() even for non-retriable errors (like NoSuchKey) whih causes log spam in hydra-queue-runner.
Diffstat (limited to 'src/libstore/s3-binary-cache-store.cc')
-rw-r--r-- | src/libstore/s3-binary-cache-store.cc | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/libstore/s3-binary-cache-store.cc b/src/libstore/s3-binary-cache-store.cc index 39d98cd61e75..f57227f024a7 100644 --- a/src/libstore/s3-binary-cache-store.cc +++ b/src/libstore/s3-binary-cache-store.cc @@ -86,12 +86,13 @@ S3Helper::S3Helper(const string & region) /* Log AWS retries. */ class RetryStrategy : public Aws::Client::DefaultRetryStrategy { - long CalculateDelayBeforeNextRetry(const Aws::Client::AWSError<Aws::Client::CoreErrors>& error, long attemptedRetries) const override + bool ShouldRetry(const Aws::Client::AWSError<Aws::Client::CoreErrors>& error, long attemptedRetries) const override { - auto res = Aws::Client::DefaultRetryStrategy::CalculateDelayBeforeNextRetry(error, attemptedRetries); - printError("AWS error '%s' (%s), will retry in %d ms", - error.GetExceptionName(), error.GetMessage(), res); - return res; + auto retry = Aws::Client::DefaultRetryStrategy::ShouldRetry(error, attemptedRetries); + if (retry) + printError("AWS error '%s' (%s), will retry in %d ms", + error.GetExceptionName(), error.GetMessage(), CalculateDelayBeforeNextRetry(error, attemptedRetries)); + return retry; } }; |