From e55a09d01d4daad62f366f01b443585e373c4266 Mon Sep 17 00:00:00 2001 From: Paul Cristian Sarbu Date: Fri, 13 Sep 2024 13:22:26 +0200 Subject: bazel_execution_client: Remove duplication of error messages ...during WithRetry, as we know that the error message of the callable has already been appropriately logged. --- .../remote/bazel/bazel_execution_client.cpp | 23 ++++++++++------------ 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/src/buildtool/execution_api/remote/bazel/bazel_execution_client.cpp b/src/buildtool/execution_api/remote/bazel/bazel_execution_client.cpp index 300e3dcd..c9b1ffe1 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_execution_client.cpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_execution_client.cpp @@ -90,20 +90,19 @@ auto BazelExecutionClient::Execute(std::string const& instance_name, std::unique_ptr> reader(stub_->Execute(&context, request)); - auto [op, fatal, error_msg] = ReadExecution(reader.get(), wait); + auto [op, fatal, _] = ReadExecution(reader.get(), wait); if (not op.has_value()) { - return { - .ok = false, .exit_retry_loop = fatal, .error_msg = error_msg}; + return {.ok = false, .exit_retry_loop = fatal}; } auto contents = ExtractContents(std::move(op)); response = contents.response; if (response.state == ExecutionResponse::State::Finished) { return {.ok = true}; } + auto const is_fatal = response.state != ExecutionResponse::State::Retry; return {.ok = false, - .exit_retry_loop = - response.state != ExecutionResponse::State::Retry, - .error_msg = contents.error_msg}; + .exit_retry_loop = is_fatal, + .error_msg = is_fatal ? std::nullopt : contents.error_msg}; }; if (not WithRetry(execute, retry_config_, logger_)) { logger_.Emit(LogLevel::Error, @@ -125,21 +124,19 @@ auto BazelExecutionClient::WaitExecution(std::string const& execution_handle) std::unique_ptr> reader(stub_->WaitExecution(&context, request)); - auto [op, fatal, error_msg] = - ReadExecution(reader.get(), /*wait=*/true); + auto [op, fatal, _] = ReadExecution(reader.get(), /*wait=*/true); if (not op.has_value()) { - return { - .ok = false, .exit_retry_loop = fatal, .error_msg = error_msg}; + return {.ok = false, .exit_retry_loop = fatal}; } auto contents = ExtractContents(std::move(op)); response = contents.response; if (response.state == ExecutionResponse::State::Finished) { return {.ok = true}; } + auto const is_fatal = response.state != ExecutionResponse::State::Retry; return {.ok = false, - .exit_retry_loop = - response.state != ExecutionResponse::State::Retry, - .error_msg = contents.error_msg}; + .exit_retry_loop = is_fatal, + .error_msg = is_fatal ? std::nullopt : contents.error_msg}; }; if (not WithRetry(wait_execution, retry_config_, logger_)) { logger_.Emit( -- cgit v1.2.3