Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-09-09 | Return ArtifactDigest from CreateActionDigestFromCommandLine | 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-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 GitRepo::SymlinksCheckFunc callback | Maksim Denisov | |
...with ArtifactDigest. | |||
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 | 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. | |||
2024-08-23 | CasClient: Retry batch update for missing response | Oliver 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-22 | Remote-execution properties: restore the latest-wins semantics | Klaus Aehlig | |
... that was accidentially replaced by a first-wins semantics in 62d204ff4cc94c12c1635f189255710901682825 which fortunately did not make it to any release. | |||
2024-08-07 | Extend BazelNetworkReader to avoid redundant conversions | Maksim Denisov | |
2024-08-07 | Avoid deep copies of containers in responses. | Maksim Denisov | |
2024-08-07 | Remove code duplication in Populate method in responses. | Maksim Denisov | |
2024-08-07 | Replace classic C boolean operators with keywords | Maksim Denisov | |
! => not; && => and, || => or | |||
2024-08-01 | Execution API: support cwd | Klaus Aehlig | |
... following the remote-execution standard that all output paths (but none of the input paths) are relative to the working directory. Therefore, the executor has to do the path translation. For our implementation of the API interface - the local API now handles cwd correctly, - the remote API forwards cwd correctly, and - the git API continues to report actions as not implemented. | |||
2024-07-30 | Add extensible structure for remote execution-related entities | Paul Cristian Sarbu | |
2024-07-22 | Rename HashFunction methods and enums | Maksim Denisov | |
2024-07-22 | Pass HashFunction to BazelApi | Maksim Denisov | |
2024-07-22 | Pass HashFunction to CreateActionDigestFromCommandLine | Maksim Denisov | |
2024-07-22 | Pass HashFunction to BazelNetwork | Maksim Denisov | |
2024-07-22 | Create HashFunction in BazelCasClient based on compatibility | Maksim Denisov | |
2024-07-22 | Pass HashFunction to ArtifactDigest::Create | Maksim Denisov | |
2024-07-22 | Use HashFunction functionality via Instance() | Maksim Denisov | |
...to track changes during refactoring easier. | |||
2024-07-19 | Pass RetryConfig instance to BazelApi | Paul Cristian Sarbu | |
2024-07-19 | Pass RetryConfig instance to BazelNetwork and bazel clients | Paul Cristian Sarbu | |
2024-07-19 | Pass RetryConfig instance to WithRetry | Paul Cristian Sarbu | |
2024-07-16 | Remove the RemoteExecutionConfig singleton | Paul Cristian Sarbu | |
...and replace it with passed instances created early via a builder pattern. Tests are also updated accordingly. | |||
2024-07-16 | Add useful aliases for platform properties and dispatch endpoint | Paul Cristian Sarbu | |
2024-07-16 | LocalAction, BazelAction: Extend constness in fields and methods | Paul Cristian Sarbu | |
2024-07-12 | Capture in TreeReaders by pointer to avoid temporaries | Maksim Denisov | |
2024-07-12 | Return std::nullopt if creation of an action digest fails | Maksim Denisov | |
...instead of dereferencing nullptr. | |||
2024-07-12 | Pack arguments of CreateActionDigestFromCommandLine to a struct | Maksim Denisov | |
2024-07-10 | ParallelRetrieveToCas: process prerequisites in parallel | Klaus Aehlig | |
2024-07-10 | ParallelRetrieveToCas: avoid duplicated requests | Klaus Aehlig | |
While no additional blob will be transferred, doing a request for missing blobs is still a request and, in particular, an unnecessary round trip. Therefore avoid this, by remembering what we synchronized already. | |||
2024-07-05 | Move functionality from StorageConfig to related classes. | Maksim Denisov | |
2024-07-04 | Replace the Auth and Auth::TLS singletons | Paul Cristian Sarbu | |
Use a builder pattern for creation and validation, in a manner that allows also other authentication methods to be added in the future besides the current TLS/SSL. The main Auth instances are built early and then passed by not_null const pointers, to avoid passing temporaries, replacing the previous Auth::TLS instances passed by simple nullable const pointers. Where needed, these passed Auth instances are also stored, by const ref. Tests also build Auth instances as needed, either with the default 'no certification' or from the test environment arguments. | |||
2024-07-04 | Pass Auth::TLS instance to serve and execute clients | Paul Cristian Sarbu | |
2024-07-04 | Pass Auth::TLS instance to BazelApi and ServeApi | Paul Cristian Sarbu | |
2024-07-04 | Mark more constructors 'explicit' | Paul Cristian Sarbu | |
Since c++17 the 'explicit' keyword has use also for constructors with more than one argument and it is recommended to use it by default whereever implicit conversions are not expected bahaviour. | |||
2024-06-28 | Use (un)expected for parsing dispatch info | Oliver Reiche | |
2024-06-27 | Use a raw pointer for passing optional IExecutionApi | Maksim Denisov | |
...instead of std::optional<gsl::not_null<IExecutionApi const*>> | |||
2024-06-25 | Introduce a type allias for an optional ptr to IExecutionApi | Maksim Denisov | |
...and replace verbose constructions. | |||
2024-06-25 | Pass IExecutionApi to IExecutionApi by reference | Maksim Denisov | |
...instead of not_null const ptr. | |||
2024-06-25 | Mark IExecutionApi's methods constant | Maksim Denisov | |
2024-06-07 | Move reading functionality to BazelNetworkReader | Maksim Denisov | |
...to enable validation of received blobs. | |||
2024-06-07 | Validate all blobs received over the network. | Maksim Denisov | |
2024-06-07 | Use BaselCasClient in BazelNetworkReader | Maksim Denisov | |
...bypassing BazelNetwork layer. | |||
2024-06-07 | Mark methods constant in BazelCasClient. | Maksim Denisov | |