summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/execution_service
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/execution_api/execution_service')
-rw-r--r--src/buildtool/execution_api/execution_service/TARGETS6
-rw-r--r--src/buildtool/execution_api/execution_service/ac_server.cpp10
-rw-r--r--src/buildtool/execution_api/execution_service/execution_server.cpp5
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());