summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api
AgeCommit message (Collapse)Author
2024-09-09Use ArtifactDigest in BazelApi/BazelResponseMaksim Denisov
2024-09-09Use ArtifactDigest in LocalActionMaksim Denisov
2024-09-09Return ArtifactDigest from CreateActionDigestFromCommandLineMaksim Denisov
2024-09-09Change validation of hash in OperationsServiceImplMaksim Denisov
2024-09-09Fix typo in OperationsServiceImpl's nameMaksim Denisov
2024-09-09Validate hashes in ExecutionServiceImplMaksim Denisov
2024-09-09Introduce minor fixes to ExecutionServiceImplMaksim Denisov
1. Mark local variables const if needed; 2. Remove redundant fmt::format calls.
2024-09-09Validate hashes in CASServiceImplMaksim Denisov
2024-09-09Introduce minor fixes to CASServiceImplMaksim Denisov
1. Mark local variables constant if needed; 2. Remove redundant fmt::format calls; 3. Acquire storage's lock after conversion of data.
2024-09-09Validate hashes in BytestreamServiceImplMaksim Denisov
2024-09-09Introduce minor fixes to BytestreamServerMaksim Denisov
1. Mark local variables constant if needed; 2. Remove redundant fmt::format calls; 3. Return bazel_re::Digest from resourse name parsing.
2024-09-09Validate hashes in ActionCacheServiceImplMaksim Denisov
2024-09-09Replace ArtifactDigest::CreateMaksim Denisov
...with ArtifactDigestFactory::HashDataAs
2024-09-09Remove redundant operator lessMaksim Denisov
...from ObjectInfo and ArtifactDigest
2024-09-09Generalize GetMissingArtifacts with templated iteratorsMaksim Denisov
2024-08-30Cast ArtifactDigest to bazel_re::Digest explicitlyMaksim Denisov
...to simplify further refactoring.
2024-08-30Use BazelDigestFactory to create bazel_re::Digest directly if neededMaksim Denisov
...bypassing ArtifactDigest functionality.
2024-08-30Replace bazel_re::Digest in BazelMsgFactory (trees)Maksim Denisov
...with ArtifactDigest.
2024-08-30Move artifact_blob_container to a standalone libraryMaksim Denisov
2024-08-30Replace bazel_re::Digest in BazelMsgFactory (local trees)Maksim Denisov
...with ArtifactDigest.
2024-08-30Replace bazel_re::Digest in LocalACMaksim Denisov
...with ArtifactDigest.
2024-08-30Replace bazel_re::Digest in CASUtilsMaksim Denisov
...with ArtifactDigest
2024-08-30Replace bazel_re::Digest in LocalCAS::CheckTreeInvariantMaksim Denisov
...with ArtifactDigest
2024-08-30Replace bazel_re::Digest in LocalCAS::Split/SpliceMaksim Denisov
...with ArtifactDigest.
2024-08-30Replace bazel_re::Digest in LocalCAS::{...}PathMaksim Denisov
...with ArtifactDigest.
2024-08-30Replace bazel_re::Digest in GitRepo::SymlinksCheckFunc callbackMaksim Denisov
...with ArtifactDigest.
2024-08-30Return the IsTree flag from ArtifactDigestMaksim Denisov
...and replace obvious redundant conversions to bazel_re::Digest, which were done to ensure that the digest represents a tree.
2024-08-30Retry on exceeding deadline obtaining the status of a running executionKlaus Aehlig
Remote execution of actions is handled via long-running operations. Here we have to be careful with the involved status codes: there is the status code of the operation and the response contains a faild that also happens to be a status code. The protocol states Errors discovered during creation of the `Operation` will be reported as gRPC Status errors, while errors that occurred while running the action will be reported in the `status` field of the `ExecuteResponse` So we have to distinguish between two kinds of DEADLINE_EXCEEDED. - If reported by the rpc, it means, we failed to obtain the status of the ongoing action in a reasonable amount of time; here we can do nothing but retry. - If we obtain an answer and that answer has state DEADLINE_EXCEEDED this means "The execution timed out."; hence we must not retry and report the result properly to the user.
2024-08-27bytestream server: also enforce the tree invariantKlaus Aehlig
2024-08-27CasClient: Fall back to single blob upload, if batch uploading made no progressKlaus Aehlig
We already accept short writes in batch uploads, but when no progress is made, we cannot simply retry, as this might lead to an infinite loop. Instead, we give up on batching and upload each blob one by one.
2024-08-27Bytestream server: verify hash of uploaded objectKlaus Aehlig
... and correctly report the error. - If we cannot store the bytes we received, this is an internal error. - If the bytes received have a different hash than announced, report this user error as INVLID_ARGUMENT.
2024-08-27Reformat code to comply with clang-format 18Klaus Aehlig
... while keeping our .clang-format file.
2024-08-23CasClient: Retry batch update for missing responseOliver Reiche
The remote execution protocol is a bit unclear about how to deal with blob updates for which we got no response. While some clients consider a blob update failed only if a failed response is received, we are going extra defensive here and also consider missing responses to be a failed blob update. Issue a retry for the missing blobs.
2024-08-22Remote-execution properties: restore the latest-wins semanticsKlaus Aehlig
... that was accidentially replaced by a first-wins semantics in 62d204ff4cc94c12c1635f189255710901682825 which fortunately did not make it to any release.
2024-08-07Remove code duplication from CasServerMaksim Denisov
2024-08-07Pass a longrunning operation to ExecutionServer::WriteResult by rvalueMaksim Denisov
2024-08-07ExecutionServer: use one method for conversion to IExecutionActionMaksim Denisov
2024-08-07ExecutionServer: use one method for conversion to bazel ExecuteResponseMaksim Denisov
2024-08-07ExecutionServer: Move creation of ActionResult to a static functionMaksim Denisov
2024-08-07ExecutionServer: move creation of bazel instances to functionsMaksim Denisov
2024-08-07Remove ExecutionServiceImpl::StoreActionResult methodMaksim Denisov
...and move the storing logic to Execute directly. There is no need to pass additional parameters to the method to just perform a check inside, and after this removal there is no need to preserve a one-line method.
2024-08-07Use expected to return errors from ExecutionServiceImpl's methodsMaksim Denisov
2024-08-07ExecutionServer: remove redundant scopesMaksim Denisov
2024-08-07Refactor read/write logic in BytestreamServerMaksim Denisov
1. In reading remove additional buffer field and reuse the response's buffer; 2. In writing preserve the file descriptor alive.
2024-08-07Extend BazelNetworkReader to avoid redundant conversionsMaksim Denisov
2024-08-07Generate bazel trees in LocalCasReaderMaksim Denisov
...and use this functionality in ExecutionServer
2024-08-07Avoid deep copies of containers in responses.Maksim Denisov
2024-08-07Remove code duplication in Populate method in responses.Maksim Denisov
2024-08-07Remove unused code from BazelMasgFactoryMaksim Denisov
1. Remove NodeProperties from CreateDirectory; 2. Set digest in CreateFileNode, CreateDirectoryNode.
2024-08-07Replace classic C boolean operators with keywordsMaksim Denisov
! => not; && => and, || => or