Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-09-16 | remote execution: Check validity of symlinks | Paul Cristian Sarbu | |
Invalid entries, currently all upwards symlinks (pending implementation of a better way of handling them), are now identified and handled properly: in compatible mode on the client side, during handling of remote response, and in native mode on the server side during the population of the action result. | |||
2024-09-16 | bazel_execution_client: Remove duplication of error messages | Paul Cristian Sarbu | |
...during WithRetry, as we know that the error message of the callable has already been appropriately logged. | |||
2024-09-16 | bazel_response: Improve error reporting for uploading trees | Paul Cristian Sarbu | |
2024-09-16 | execution_response: Allow failures to be reported while populating | Paul Cristian Sarbu | |
As populating the containers from remote response only takes place once, no assumptions should be made that this cannot fail (for example if wrong or invalid entries were produced). Instead, return error messages on failure to callers that can log accordingly. | |||
2024-09-13 | Remove std::move of const value and avoid non-movable intermediate variables | Klaus Aehlig | |
2024-09-13 | Pass ApiBundle to RetrieveSubPathId | Maksim Denisov | |
...to get access to the protocol type. | |||
2024-09-13 | Check compatibility in execution services based on the hash type | Maksim Denisov | |
2024-09-13 | Pass HashFunction::Type to CapabilitiesServer | Maksim Denisov | |
...to get the protocol type. | |||
2024-09-13 | Pass HashFunction to BazelCasClient | Maksim Denisov | |
...to determine whether splitting-splicing functionality is supported. | |||
2024-09-13 | Check compatibility in BazelAPI based on the hash type | Maksim Denisov | |
2024-09-13 | Check compatibility in LocalAPI based on the hash type | Maksim Denisov | |
2024-09-13 | Check compatibility in readers based on the hash type | Maksim Denisov | |
2024-09-13 | Add to ProtocolTraits static functions that provide protocol-specific behaviour | Maksim Denisov | |
2024-09-13 | Rename Compatibility class to ProtocolTraits | Maksim Denisov | |
...and move it to the common stage. | |||
2024-09-11 | Use ArtifactDigestFactory in BlobTree | Maksim Denisov | |
...to create ArtifactDigests. | |||
2024-09-11 | Use ArtifactDigestFactory in GitApi | Maksim Denisov | |
...to create ArtifactDigests. | |||
2024-09-11 | Use ArtifactDigestFactory in TreeReaderUtils | Maksim Denisov | |
...to create ArtifactDigests. | |||
2024-09-09 | Remove NativeSupport class | Maksim Denisov | |
2024-09-09 | ExecutionResponse: a missing header | Maksim Denisov | |
2024-09-09 | Use ArtifactDigestFactory casts in readers | Maksim Denisov | |
2024-09-09 | Use ArtifactDigest in BazelApi/BazelResponse | Maksim Denisov | |
2024-09-09 | Use ArtifactDigest in LocalAction | Maksim Denisov | |
2024-09-09 | Return ArtifactDigest from CreateActionDigestFromCommandLine | Maksim Denisov | |
2024-09-09 | Change validation of hash in OperationsServiceImpl | Maksim Denisov | |
2024-09-09 | Fix typo in OperationsServiceImpl's name | Maksim Denisov | |
2024-09-09 | Validate hashes in ExecutionServiceImpl | Maksim Denisov | |
2024-09-09 | Introduce minor fixes to ExecutionServiceImpl | Maksim Denisov | |
1. Mark local variables const if needed; 2. Remove redundant fmt::format calls. | |||
2024-09-09 | Validate hashes in CASServiceImpl | Maksim Denisov | |
2024-09-09 | Introduce minor fixes to CASServiceImpl | Maksim 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-09 | Validate hashes in BytestreamServiceImpl | Maksim Denisov | |
2024-09-09 | Introduce minor fixes to BytestreamServer | Maksim 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-09 | Validate hashes in ActionCacheServiceImpl | Maksim Denisov | |
2024-09-09 | Replace ArtifactDigest::Create | Maksim Denisov | |
...with ArtifactDigestFactory::HashDataAs | |||
2024-09-09 | Remove redundant operator less | Maksim Denisov | |
...from ObjectInfo and ArtifactDigest | |||
2024-09-09 | Generalize GetMissingArtifacts with templated iterators | Maksim Denisov | |
2024-08-30 | Cast ArtifactDigest to bazel_re::Digest explicitly | Maksim Denisov | |
...to simplify further refactoring. | |||
2024-08-30 | Use BazelDigestFactory to create bazel_re::Digest directly if needed | Maksim Denisov | |
...bypassing ArtifactDigest functionality. | |||
2024-08-30 | Replace bazel_re::Digest in BazelMsgFactory (trees) | Maksim Denisov | |
...with ArtifactDigest. | |||
2024-08-30 | Move artifact_blob_container to a standalone library | Maksim Denisov | |
2024-08-30 | Replace bazel_re::Digest in BazelMsgFactory (local trees) | Maksim Denisov | |
...with ArtifactDigest. | |||
2024-08-30 | Replace bazel_re::Digest in LocalAC | Maksim Denisov | |
...with ArtifactDigest. | |||
2024-08-30 | Replace bazel_re::Digest in CASUtils | Maksim Denisov | |
...with ArtifactDigest | |||
2024-08-30 | Replace bazel_re::Digest in LocalCAS::CheckTreeInvariant | Maksim Denisov | |
...with ArtifactDigest | |||
2024-08-30 | Replace bazel_re::Digest in LocalCAS::Split/Splice | Maksim Denisov | |
...with ArtifactDigest. | |||
2024-08-30 | Replace bazel_re::Digest in LocalCAS::{...}Path | Maksim Denisov | |
...with ArtifactDigest. | |||
2024-08-30 | Replace bazel_re::Digest in GitRepo::SymlinksCheckFunc callback | Maksim Denisov | |
...with ArtifactDigest. | |||
2024-08-30 | Return the IsTree flag from ArtifactDigest | Maksim Denisov | |
...and replace obvious redundant conversions to bazel_re::Digest, which were done to ensure that the digest represents a tree. | |||
2024-08-30 | Retry on exceeding deadline obtaining the status of a running execution | Klaus 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-27 | bytestream server: also enforce the tree invariant | Klaus Aehlig | |
2024-08-27 | CasClient: Fall back to single blob upload, if batch uploading made no progress | Klaus 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. |