summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_api.cpp3
-rw-r--r--src/buildtool/execution_engine/executor/executor.hpp8
2 files changed, 7 insertions, 4 deletions
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_api.cpp b/src/buildtool/execution_api/remote/bazel/bazel_api.cpp
index afbc9d2e..bfc42083 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_api.cpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_api.cpp
@@ -404,7 +404,8 @@ auto BazelApi::CreateAction(
// no need to regenerate the digest.
ts.QueueTask(
[this, &info, &api, &failure, &info_map, use_blob_splitting]() {
- if (use_blob_splitting
+ if (use_blob_splitting and network_->BlobSplitSupport() and
+ api->BlobSpliceSupport()
? ::RetrieveToCasSplitted(
info, api, network_, info_map)
: ::RetrieveToCas(
diff --git a/src/buildtool/execution_engine/executor/executor.hpp b/src/buildtool/execution_engine/executor/executor.hpp
index dd6ada70..caf84b80 100644
--- a/src/buildtool/execution_engine/executor/executor.hpp
+++ b/src/buildtool/execution_engine/executor/executor.hpp
@@ -102,10 +102,12 @@ class ExecutorImpl {
auto alternative_api =
GetAlternativeEndpoint(properties, dispatch_list);
if (alternative_api) {
- if (not api->RetrieveToCas(
+ if (not api->ParallelRetrieveToCas(
std::vector<Artifact::ObjectInfo>{Artifact::ObjectInfo{
- *root_digest, ObjectType::Tree, false}},
- &(*alternative_api))) {
+ *root_digest, ObjectType::Tree, /* failed= */ false}},
+ &(*alternative_api),
+ /* jobs= */ 1,
+ /* use_blob_splitting= */ true)) {
Logger::Log(LogLevel::Error,
"Failed to sync tree {} to dispatch endpoint",
root_digest->hash());