diff options
Diffstat (limited to 'src/buildtool/execution_api/execution_service')
3 files changed, 14 insertions, 7 deletions
diff --git a/src/buildtool/execution_api/execution_service/TARGETS b/src/buildtool/execution_api/execution_service/TARGETS index ecdccf04..f52efc26 100644 --- a/src/buildtool/execution_api/execution_service/TARGETS +++ b/src/buildtool/execution_api/execution_service/TARGETS @@ -23,6 +23,7 @@ , "operation_cache" , ["src/utils/cpp", "verify_hash"] , ["src/buildtool/execution_api/local", "local"] + , ["src/buildtool/common", "common"] ] , "private-ldflags": ["-pthread", "-Wl,--whole-archive,-lpthread,--no-whole-archive"] @@ -43,7 +44,10 @@ , ["src/buildtool/storage", "config"] ] , "private-deps": - [["src/buildtool/logging", "log_level"], ["src/utils/cpp", "verify_hash"]] + [ ["src/buildtool/logging", "log_level"] + , ["src/utils/cpp", "verify_hash"] + , ["src/buildtool/common", "common"] + ] } , "cas_server": { "type": ["@", "rules", "CC", "library"] diff --git a/src/buildtool/execution_api/execution_service/ac_server.cpp b/src/buildtool/execution_api/execution_service/ac_server.cpp index 0d85596e..cc59a983 100644 --- a/src/buildtool/execution_api/execution_service/ac_server.cpp +++ b/src/buildtool/execution_api/execution_service/ac_server.cpp @@ -15,6 +15,7 @@ #include "src/buildtool/execution_api/execution_service/ac_server.hpp" #include "fmt/core.h" +#include "src/buildtool/common/artifact_digest.hpp" #include "src/buildtool/logging/log_level.hpp" #include "src/buildtool/storage/garbage_collector.hpp" #include "src/utils/cpp/verify_hash.hpp" @@ -36,11 +37,12 @@ auto ActionCacheServiceImpl::GetActionResult( logger_.Emit(LogLevel::Error, str); return grpc::Status{grpc::StatusCode::INTERNAL, str}; } - auto x = storage_.ActionCache().CachedResult(request->action_digest()); + + ArtifactDigest const a_digest{request->action_digest()}; + auto x = storage_.ActionCache().CachedResult(a_digest); if (not x) { - return grpc::Status{ - grpc::StatusCode::NOT_FOUND, - fmt::format("{} missing from AC", request->action_digest().hash())}; + return grpc::Status{grpc::StatusCode::NOT_FOUND, + fmt::format("{} missing from AC", a_digest.hash())}; } *response = *x; return ::grpc::Status::OK; diff --git a/src/buildtool/execution_api/execution_service/execution_server.cpp b/src/buildtool/execution_api/execution_service/execution_server.cpp index b862a03d..c89f06fe 100644 --- a/src/buildtool/execution_api/execution_service/execution_server.cpp +++ b/src/buildtool/execution_api/execution_service/execution_server.cpp @@ -19,8 +19,8 @@ #include <string> #include <utility> -#include "execution_server.hpp" #include "fmt/core.h" +#include "src/buildtool/common/artifact_digest.hpp" #include "src/buildtool/execution_api/execution_service/operation_cache.hpp" #include "src/buildtool/execution_api/local/local_cas_reader.hpp" #include "src/buildtool/file_system/file_system_manager.hpp" @@ -212,8 +212,9 @@ auto ExecutionServiceImpl::Execute( // Store the result in action cache if (i_execution_response->ExitCode() == 0 and not action->do_not_cache()) { + ArtifactDigest const a_digest{request->action_digest()}; if (not storage_.ActionCache().StoreResult( - request->action_digest(), execute_response->result())) { + a_digest, execute_response->result())) { auto const str = fmt::format("Could not store action result for action {}", request->action_digest().hash()); |