diff options
Diffstat (limited to 'src/buildtool/execution_api')
6 files changed, 48 insertions, 49 deletions
diff --git a/src/buildtool/execution_api/execution_service/ac_server.cpp b/src/buildtool/execution_api/execution_service/ac_server.cpp index 53000cad..d998bd6d 100644 --- a/src/buildtool/execution_api/execution_service/ac_server.cpp +++ b/src/buildtool/execution_api/execution_service/ac_server.cpp @@ -24,7 +24,7 @@ auto ActionCacheServiceImpl::GetActionResult( const ::bazel_re::GetActionResultRequest* request, ::bazel_re::ActionResult* response) -> ::grpc::Status { if (auto error_msg = IsAHash(request->action_digest().hash()); error_msg) { - logger_.Emit(LogLevel::Debug, *error_msg); + logger_.Emit(LogLevel::Debug, "{}", *error_msg); return ::grpc::Status{::grpc::StatusCode::INVALID_ARGUMENT, *error_msg}; } logger_.Emit(LogLevel::Trace, diff --git a/src/buildtool/execution_api/execution_service/bytestream_server.cpp b/src/buildtool/execution_api/execution_service/bytestream_server.cpp index 3433f031..2a4b7e21 100644 --- a/src/buildtool/execution_api/execution_service/bytestream_server.cpp +++ b/src/buildtool/execution_api/execution_service/bytestream_server.cpp @@ -52,12 +52,12 @@ auto BytestreamServiceImpl::Read( auto hash = ParseResourceName(request->resource_name()); if (!hash) { auto str = fmt::format("could not parse {}", request->resource_name()); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return ::grpc::Status{::grpc::StatusCode::INVALID_ARGUMENT, str}; } if (auto error_msg = IsAHash(*hash); error_msg) { - logger_.Emit(LogLevel::Debug, *error_msg); + logger_.Emit(LogLevel::Debug, "{}", *error_msg); return ::grpc::Status{::grpc::StatusCode::INVALID_ARGUMENT, *error_msg}; } @@ -81,7 +81,7 @@ auto BytestreamServiceImpl::Read( } if (!path) { auto str = fmt::format("could not find {}", *hash); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return ::grpc::Status{::grpc::StatusCode::NOT_FOUND, str}; } std::ifstream blob{*path}; @@ -113,11 +113,11 @@ auto BytestreamServiceImpl::Write( auto hash = ParseResourceName(request.resource_name()); if (!hash) { auto str = fmt::format("could not parse {}", request.resource_name()); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return ::grpc::Status{::grpc::StatusCode::INVALID_ARGUMENT, str}; } if (auto error_msg = IsAHash(*hash); error_msg) { - logger_.Emit(LogLevel::Debug, *error_msg); + logger_.Emit(LogLevel::Debug, "{}", *error_msg); return ::grpc::Status{::grpc::StatusCode::INVALID_ARGUMENT, *error_msg}; } logger_.Emit(LogLevel::Trace, @@ -150,7 +150,7 @@ auto BytestreamServiceImpl::Write( if (NativeSupport::IsTree(*hash)) { if (not storage_->CAS().StoreTree</*kOwner=*/true>(tmp)) { auto str = fmt::format("could not store tree {}", *hash); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return ::grpc::Status{::grpc::StatusCode::INVALID_ARGUMENT, str}; } } @@ -158,7 +158,7 @@ auto BytestreamServiceImpl::Write( if (not storage_->CAS().StoreBlob</*kOwner=*/true>( tmp, /*is_executable=*/false)) { auto str = fmt::format("could not store blob {}", *hash); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return ::grpc::Status{::grpc::StatusCode::INVALID_ARGUMENT, str}; } } @@ -173,6 +173,6 @@ auto BytestreamServiceImpl::QueryWriteStatus( ::google::bytestream::QueryWriteStatusResponse* /*response*/) -> ::grpc::Status { auto const* str = "QueryWriteStatus not implemented"; - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return ::grpc::Status{grpc::StatusCode::UNIMPLEMENTED, str}; } diff --git a/src/buildtool/execution_api/execution_service/cas_server.cpp b/src/buildtool/execution_api/execution_service/cas_server.cpp index b9143daa..89597a38 100644 --- a/src/buildtool/execution_api/execution_service/cas_server.cpp +++ b/src/buildtool/execution_api/execution_service/cas_server.cpp @@ -109,7 +109,7 @@ auto CASServiceImpl::CheckDigestConsistency(bazel_re::Digest const& ref, ref.size_bytes(), computed.size_bytes(), computed.size_bytes()); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return str; } return std::nullopt; @@ -132,7 +132,7 @@ auto CASServiceImpl::BatchUpdateBlobs( if (!IsValidHash(hash)) { auto const& str = fmt::format("BatchUpdateBlobs: unsupported digest {}", hash); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return ::grpc::Status{grpc::StatusCode::INVALID_ARGUMENT, str}; } logger_.Emit(LogLevel::Trace, "BatchUpdateBlobs: {}", hash); @@ -144,7 +144,7 @@ auto CASServiceImpl::BatchUpdateBlobs( if (auto err = CASUtils::EnsureTreeInvariant( x.digest(), x.data(), *storage_)) { auto str = fmt::format("BatchUpdateBlobs: {}", *err); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return ::grpc::Status{grpc::StatusCode::FAILED_PRECONDITION, str}; } @@ -152,12 +152,12 @@ auto CASServiceImpl::BatchUpdateBlobs( if (!dgst) { auto const& str = fmt::format( "BatchUpdateBlobs: could not upload tree {}", hash); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return ::grpc::Status{grpc::StatusCode::INTERNAL, str}; } if (auto err = CheckDigestConsistency(x.digest(), *dgst)) { auto str = fmt::format("BatchUpdateBlobs: {}", *err); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return ::grpc::Status{grpc::StatusCode::INVALID_ARGUMENT, str}; } } @@ -166,12 +166,12 @@ auto CASServiceImpl::BatchUpdateBlobs( if (!dgst) { auto const& str = fmt::format( "BatchUpdateBlobs: could not upload blob {}", hash); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return ::grpc::Status{grpc::StatusCode::INTERNAL, str}; } if (auto err = CheckDigestConsistency(x.digest(), *dgst)) { auto str = fmt::format("BatchUpdateBlobs: {}", *err); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return ::grpc::Status{grpc::StatusCode::INVALID_ARGUMENT, str}; } } @@ -186,7 +186,7 @@ auto CASServiceImpl::BatchReadBlobs( auto lock = GarbageCollector::SharedLock(); if (!lock) { auto str = fmt::format("BatchReadBlobs: Could not acquire SharedLock"); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return grpc::Status{grpc::StatusCode::INTERNAL, str}; } for (auto const& digest : request->digests()) { @@ -240,7 +240,7 @@ auto CASServiceImpl::SplitBlob(::grpc::ServerContext* /*context*/, if (not IsValidHash(blob_digest.hash())) { auto str = fmt::format("SplitBlob: unsupported digest {}", blob_digest.hash()); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return ::grpc::Status{grpc::StatusCode::INVALID_ARGUMENT, str}; } @@ -255,14 +255,13 @@ auto CASServiceImpl::SplitBlob(::grpc::ServerContext* /*context*/, ChunkingAlgorithm_Value_IDENTITY and chunking_algorithm != ::bazel_re::ChunkingAlgorithm_Value:: ChunkingAlgorithm_Value_FASTCDC) { - logger_.Emit(LogLevel::Warning, - fmt::format("SplitBlob: unsupported chunking algorithm " - "{}, will use " - "default implementation {}", - ChunkingAlgorithmToString(chunking_algorithm), - ChunkingAlgorithmToString( - ::bazel_re::ChunkingAlgorithm_Value:: - ChunkingAlgorithm_Value_FASTCDC))); + logger_.Emit( + LogLevel::Warning, + "SplitBlob: unsupported chunking algorithm {}, will use default " + "implementation {}", + ChunkingAlgorithmToString(chunking_algorithm), + ChunkingAlgorithmToString(::bazel_re::ChunkingAlgorithm_Value:: + ChunkingAlgorithm_Value_FASTCDC)); } // Acquire garbage collection lock. @@ -284,7 +283,7 @@ auto CASServiceImpl::SplitBlob(::grpc::ServerContext* /*context*/, if (std::holds_alternative<grpc::Status>(split_result)) { auto status = std::get<grpc::Status>(split_result); auto str = fmt::format("SplitBlob: {}", status.error_message()); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return ::grpc::Status{status.error_code(), str}; } @@ -322,7 +321,7 @@ auto CASServiceImpl::SpliceBlob(::grpc::ServerContext* /*context*/, if (not IsValidHash(blob_digest.hash())) { auto str = fmt::format("SpliceBlob: unsupported digest {}", blob_digest.hash()); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return ::grpc::Status{grpc::StatusCode::INVALID_ARGUMENT, str}; } @@ -350,13 +349,13 @@ auto CASServiceImpl::SpliceBlob(::grpc::ServerContext* /*context*/, if (std::holds_alternative<grpc::Status>(splice_result)) { auto status = std::get<grpc::Status>(splice_result); auto str = fmt::format("SpliceBlob: {}", status.error_message()); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return ::grpc::Status{status.error_code(), str}; } auto digest = std::get<bazel_re::Digest>(splice_result); if (auto err = CheckDigestConsistency(blob_digest, digest)) { auto str = fmt::format("SpliceBlob: {}", *err); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return ::grpc::Status{grpc::StatusCode::INVALID_ARGUMENT, str}; } response->mutable_blob_digest()->CopyFrom(digest); diff --git a/src/buildtool/execution_api/execution_service/execution_server.cpp b/src/buildtool/execution_api/execution_service/execution_server.cpp index f122da81..c3802ea7 100644 --- a/src/buildtool/execution_api/execution_service/execution_server.cpp +++ b/src/buildtool/execution_api/execution_service/execution_server.cpp @@ -42,14 +42,14 @@ auto ExecutionServiceImpl::GetAction(::bazel_re::ExecuteRequest const* request) std::optional<std::string>> { // get action description if (auto error_msg = IsAHash(request->action_digest().hash()); error_msg) { - logger_.Emit(LogLevel::Error, *error_msg); + logger_.Emit(LogLevel::Error, "{}", *error_msg); return {std::nullopt, *error_msg}; } auto path = storage_->CAS().BlobPath(request->action_digest(), false); if (!path) { auto str = fmt::format("could not retrieve blob {} from cas", request->action_digest().hash()); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return {std::nullopt, str}; } ::bazel_re::Action action{}; @@ -58,13 +58,13 @@ auto ExecutionServiceImpl::GetAction(::bazel_re::ExecuteRequest const* request) if (!action.ParseFromIstream(&f)) { auto str = fmt::format("failed to parse action from blob {}", request->action_digest().hash()); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return {std::nullopt, str}; } } if (auto error_msg = IsAHash(action.input_root_digest().hash()); error_msg) { - logger_.Emit(LogLevel::Error, *error_msg); + logger_.Emit(LogLevel::Error, "{}", *error_msg); return {std::nullopt, *error_msg}; } path = Compatibility::IsCompatible() @@ -74,7 +74,7 @@ auto ExecutionServiceImpl::GetAction(::bazel_re::ExecuteRequest const* request) if (!path) { auto str = fmt::format("could not retrieve input root {} from cas", action.input_root_digest().hash()); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return {std::nullopt, str}; } return {std::move(action), std::nullopt}; @@ -84,14 +84,14 @@ auto ExecutionServiceImpl::GetCommand(::bazel_re::Action const& action) const noexcept -> std::pair<std::optional<::bazel_re::Command>, std::optional<std::string>> { if (auto error_msg = IsAHash(action.command_digest().hash()); error_msg) { - logger_.Emit(LogLevel::Error, *error_msg); + logger_.Emit(LogLevel::Error, "{}", *error_msg); return {std::nullopt, *error_msg}; } auto path = storage_->CAS().BlobPath(action.command_digest(), false); if (!path) { auto str = fmt::format("could not retrieve blob {} from cas", action.command_digest().hash()); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return {std::nullopt, str}; } @@ -101,7 +101,7 @@ auto ExecutionServiceImpl::GetCommand(::bazel_re::Action const& action) if (!c.ParseFromIstream(&f)) { auto str = fmt::format("failed to parse command from blob {}", action.command_digest().hash()); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return {std::nullopt, str}; } } @@ -143,7 +143,7 @@ auto ExecutionServiceImpl::GetIExecutionAction( if (!i_execution_action) { auto str = fmt::format("could not create action from {}", request->action_digest().hash()); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return {std::nullopt, str}; } i_execution_action->SetCacheFlag( @@ -357,7 +357,7 @@ auto ExecutionServiceImpl::AddResult( if (not AddOutputPaths(response, i_execution_response, *storage_)) { auto str = fmt::format("Error in creating output paths of action {}", action_hash); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return std::nullopt; } auto* result = response->mutable_result(); @@ -368,7 +368,7 @@ auto ExecutionServiceImpl::AddResult( if (!dgst) { auto str = fmt::format("Could not store stderr of action {}", action_hash); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return str; } result->mutable_stderr_digest()->CopyFrom(*dgst); @@ -379,7 +379,7 @@ auto ExecutionServiceImpl::AddResult( if (!dgst) { auto str = fmt::format("Could not store stdout of action {}", action_hash); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return str; } result->mutable_stdout_digest()->CopyFrom(*dgst); @@ -422,7 +422,7 @@ auto ExecutionServiceImpl::StoreActionResult( execute_response.result())) { auto str = fmt::format("Could not store action result for action {}", request->action_digest().hash()); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return str; } return std::nullopt; @@ -501,7 +501,7 @@ auto ExecutionServiceImpl::WaitExecution( -> ::grpc::Status { auto const& hash = request->name(); if (auto error_msg = IsAHash(hash); error_msg) { - logger_.Emit(LogLevel::Error, *error_msg); + logger_.Emit(LogLevel::Error, "{}", *error_msg); return ::grpc::Status{::grpc::StatusCode::INVALID_ARGUMENT, *error_msg}; } logger_.Emit(LogLevel::Trace, "WaitExecution: {}", hash); @@ -511,7 +511,7 @@ auto ExecutionServiceImpl::WaitExecution( if (!op) { auto const& str = fmt::format( "Executing action {} not found in internal cache.", hash); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return ::grpc::Status{grpc::StatusCode::INTERNAL, str}; } std::this_thread::sleep_for(std::chrono::seconds(1)); diff --git a/src/buildtool/execution_api/execution_service/operations_server.cpp b/src/buildtool/execution_api/execution_service/operations_server.cpp index 13a8efd6..6e082bf4 100644 --- a/src/buildtool/execution_api/execution_service/operations_server.cpp +++ b/src/buildtool/execution_api/execution_service/operations_server.cpp @@ -24,7 +24,7 @@ auto OperarationsServiceImpl::GetOperation( ::google::longrunning::Operation* response) -> ::grpc::Status { auto const& hash = request->name(); if (auto error_msg = IsAHash(hash); error_msg) { - logger_.Emit(LogLevel::Debug, *error_msg); + logger_.Emit(LogLevel::Debug, "{}", *error_msg); return ::grpc::Status{::grpc::StatusCode::INVALID_ARGUMENT, *error_msg}; } logger_.Emit(LogLevel::Trace, "GetOperation: {}", hash); @@ -33,7 +33,7 @@ auto OperarationsServiceImpl::GetOperation( if (!op) { auto const& str = fmt::format( "Executing action {} not found in internal cache.", hash); - logger_.Emit(LogLevel::Error, str); + logger_.Emit(LogLevel::Error, "{}", str); return ::grpc::Status{grpc::StatusCode::INTERNAL, str}; } response->CopyFrom(*op); 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 7ae20693..323b7dc4 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_execution_client.cpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_execution_client.cpp @@ -38,8 +38,8 @@ void LogExecutionStatus(gsl::not_null<Logger const*> const& logger, // (and the server does not support a queue), the action could not // be started. The client should retry. logger->Emit(LogLevel::Debug, - fmt::format("Execution could not be started.\n{}", - s.ShortDebugString())); + "Execution could not be started.\n{}", + s.ShortDebugString()); break; default: // fallback to default status logging |