diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/buildtool/common/remote/TARGETS | 8 | ||||
-rw-r--r-- | src/buildtool/common/remote/retry.hpp | 10 | ||||
-rw-r--r-- | src/buildtool/common/remote/retry_config.hpp (renamed from src/buildtool/common/remote/retry_parameters.hpp) | 14 | ||||
-rw-r--r-- | src/buildtool/main/TARGETS | 4 | ||||
-rw-r--r-- | src/buildtool/main/retry.cpp | 9 | ||||
-rw-r--r-- | src/buildtool/main/serve.cpp | 8 |
6 files changed, 27 insertions, 26 deletions
diff --git a/src/buildtool/common/remote/TARGETS b/src/buildtool/common/remote/TARGETS index a5480e2b..52e3f91a 100644 --- a/src/buildtool/common/remote/TARGETS +++ b/src/buildtool/common/remote/TARGETS @@ -38,10 +38,10 @@ ] , "stage": ["src", "buildtool", "common", "remote"] } -, "retry_parameters": +, "retry_config": { "type": ["@", "rules", "CC", "library"] - , "name": ["retry_parameters"] - , "hdrs": ["retry_parameters.hpp"] + , "name": ["retry_config"] + , "hdrs": ["retry_config.hpp"] , "deps": [ ["src/buildtool/logging", "log_level"] , ["src/buildtool/logging", "logging"] @@ -56,7 +56,7 @@ [ ["src/buildtool/logging", "log_level"] , ["src/buildtool/logging", "logging"] , ["@", "grpc", "", "grpc++"] - , "retry_parameters" + , "retry_config" ] , "stage": ["src", "buildtool", "common", "remote"] } diff --git a/src/buildtool/common/remote/retry.hpp b/src/buildtool/common/remote/retry.hpp index b9298588..6e164af1 100644 --- a/src/buildtool/common/remote/retry.hpp +++ b/src/buildtool/common/remote/retry.hpp @@ -20,7 +20,7 @@ #include <utility> // std::move #include "grpcpp/grpcpp.h" -#include "src/buildtool/common/remote/retry_parameters.hpp" +#include "src/buildtool/common/remote/retry_config.hpp" #include "src/buildtool/logging/log_level.hpp" #include "src/buildtool/logging/logger.hpp" @@ -56,7 +56,7 @@ template <CallableReturningRetryResponse F> [[nodiscard]] auto WithRetry(F const& f, Logger const& logger) noexcept -> bool { try { - auto const& attempts = Retry::GetMaxAttempts(); + auto const& attempts = RetryConfig::GetMaxAttempts(); for (auto attempt = 1U; attempt <= attempts; ++attempt) { auto [ok, fatal, error_msg] = f(); if (ok) { @@ -71,7 +71,7 @@ template <CallableReturningRetryResponse F> // don't wait if it was the last attempt if (attempt < attempts) { auto const sleep_for_seconds = - Retry::GetSleepTimeSeconds(attempt); + RetryConfig::GetSleepTimeSeconds(attempt); logger.Emit(kRetryLogLevel, "Attempt {}/{} failed{} Retrying in {} seconds.", attempt, @@ -107,7 +107,7 @@ template <CallableReturningGrpcStatus F> -> std::pair<bool, grpc::Status> { grpc::Status status{}; try { - auto attempts = Retry::GetMaxAttempts(); + auto attempts = RetryConfig::GetMaxAttempts(); for (auto attempt = 1U; attempt <= attempts; ++attempt) { status = f(); if (status.ok() or @@ -117,7 +117,7 @@ template <CallableReturningGrpcStatus F> // don't wait if it was the last attempt if (attempt < attempts) { auto const sleep_for_seconds = - Retry::GetSleepTimeSeconds(attempt); + RetryConfig::GetSleepTimeSeconds(attempt); logger.Emit( kRetryLogLevel, "Attempt {}/{} failed: {}: {}: Retrying in {} seconds.", diff --git a/src/buildtool/common/remote/retry_parameters.hpp b/src/buildtool/common/remote/retry_config.hpp index bc4c474a..8957ac1f 100644 --- a/src/buildtool/common/remote/retry_parameters.hpp +++ b/src/buildtool/common/remote/retry_config.hpp @@ -25,13 +25,13 @@ constexpr unsigned int kDefaultInitialBackoffSeconds{1}; constexpr unsigned int kDefaultMaxBackoffSeconds{60}; constexpr unsigned int kDefaultAttempts{1}; constexpr auto kRetryLogLevel = LogLevel::Progress; -class Retry { +class RetryConfig { using dist_type = std::uniform_int_distribution<std::mt19937::result_type>; public: - Retry() = default; - [[nodiscard]] static auto Instance() -> Retry& { - static Retry instance{}; + RetryConfig() = default; + [[nodiscard]] static auto Instance() -> RetryConfig& { + static RetryConfig instance{}; return instance; } @@ -106,8 +106,8 @@ class Retry { /// value) is added to distributed the workload. [[nodiscard]] static auto GetSleepTimeSeconds(unsigned int attempt) noexcept -> unsigned int { - auto backoff = Retry::GetInitialBackoffSeconds(); - auto const& max_backoff = Retry::GetMaxBackoffSeconds(); + auto backoff = RetryConfig::GetInitialBackoffSeconds(); + auto const& max_backoff = RetryConfig::GetMaxBackoffSeconds(); // on the first attempt, we don't double the backoff time // also we do it in a for loop to avoid overflow for (auto x = 1U; x < attempt; ++x) { @@ -117,7 +117,7 @@ class Retry { break; } } - return backoff + Retry::Jitter(backoff); + return backoff + RetryConfig::Jitter(backoff); } private: diff --git a/src/buildtool/main/TARGETS b/src/buildtool/main/TARGETS index 75c5bddc..ce7ec45f 100644 --- a/src/buildtool/main/TARGETS +++ b/src/buildtool/main/TARGETS @@ -66,7 +66,7 @@ , "srcs": ["retry.cpp"] , "stage": ["src", "buildtool", "main"] , "deps": [["src/buildtool/common", "retry_cli"]] - , "private-deps": [["src/buildtool/common/remote", "retry_parameters"]] + , "private-deps": [["src/buildtool/common/remote", "retry_config"]] } , "describe": { "type": ["@", "rules", "CC", "library"] @@ -286,7 +286,7 @@ , ["src/buildtool/logging", "log_level"] , ["src/buildtool/logging", "logging"] , "common" - , ["src/buildtool/common/remote", "retry_parameters"] + , ["src/buildtool/common/remote", "retry_config"] ] } , "build_utils": diff --git a/src/buildtool/main/retry.cpp b/src/buildtool/main/retry.cpp index f2ba4b3a..c7c100cf 100644 --- a/src/buildtool/main/retry.cpp +++ b/src/buildtool/main/retry.cpp @@ -22,26 +22,27 @@ #else -#include "src/buildtool/common/remote/retry_parameters.hpp" +#include "src/buildtool/common/remote/retry_config.hpp" #include "src/buildtool/logging/log_level.hpp" #include "src/buildtool/logging/logger.hpp" [[nodiscard]] auto SetupRetryConfig(RetryArguments const& args) -> bool { if (args.max_attempts) { - if (!Retry::SetMaxAttempts(*args.max_attempts)) { + if (!RetryConfig::SetMaxAttempts(*args.max_attempts)) { Logger::Log(LogLevel::Error, "Invalid value for max-attempts."); return false; } } if (args.initial_backoff_seconds) { - if (!Retry::SetInitialBackoffSeconds(*args.initial_backoff_seconds)) { + if (!RetryConfig::SetInitialBackoffSeconds( + *args.initial_backoff_seconds)) { Logger::Log(LogLevel::Error, "Invalid value for initial-backoff-seconds."); return false; } } if (args.max_backoff_seconds) { - if (!Retry::SetMaxBackoffSeconds(*args.max_backoff_seconds)) { + if (!RetryConfig::SetMaxBackoffSeconds(*args.max_backoff_seconds)) { Logger::Log(LogLevel::Error, "Invalid value for max-backoff-seconds."); return false; diff --git a/src/buildtool/main/serve.cpp b/src/buildtool/main/serve.cpp index e21eac0f..e5dec606 100644 --- a/src/buildtool/main/serve.cpp +++ b/src/buildtool/main/serve.cpp @@ -31,7 +31,7 @@ #include "src/buildtool/build_engine/expression/configuration.hpp" #include "src/buildtool/build_engine/expression/expression.hpp" #include "src/buildtool/common/location.hpp" -#include "src/buildtool/common/remote/retry_parameters.hpp" +#include "src/buildtool/common/remote/retry_config.hpp" #include "src/buildtool/file_system/file_system_manager.hpp" #include "src/buildtool/logging/log_level.hpp" #include "src/buildtool/logging/logger.hpp" @@ -67,7 +67,7 @@ namespace { max_attempts->ToString()); return false; } - if (!Retry::SetMaxAttempts(max_attempts->Number())) { + if (!RetryConfig::SetMaxAttempts(max_attempts->Number())) { Logger::Log(LogLevel::Error, "Invalid value for \"max-attempts\" {}.", max_attempts->Number()); @@ -83,7 +83,7 @@ namespace { initial_backoff->ToString()); return false; } - if (!Retry::SetMaxAttempts(initial_backoff->Number())) { + if (!RetryConfig::SetMaxAttempts(initial_backoff->Number())) { Logger::Log(LogLevel::Error, "Invalid value for \"initial-backoff-seconds\" {}.", initial_backoff->Number()); @@ -99,7 +99,7 @@ namespace { max_backoff->ToString()); return false; } - if (!Retry::SetMaxAttempts(max_backoff->Number())) { + if (!RetryConfig::SetMaxAttempts(max_backoff->Number())) { Logger::Log(LogLevel::Error, "Invalid value for \"max-backoff-seconds\" {}.", max_backoff->Number()); |