diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/buildtool/execution_api/remote/bazel/bazel_api.cpp | 3 | ||||
-rw-r--r-- | src/buildtool/execution_engine/executor/executor.hpp | 8 |
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()); |