Age | Commit message (Collapse) | Author | |
---|---|---|---|
2025-02-07 | IExecutionApi: Use unordered_set in IsAvailable | Maksim Denisov | |
2025-02-07 | BazelCasClient: Use unordered_set in FindMissingBlobs | Maksim Denisov | |
2024-11-29 | Clean up unused deps | Klaus Aehlig | |
2024-11-14 | execution_api/remote: Implement IWYU suggestions | Paul Cristian Sarbu | |
2024-10-29 | Clean up unused dependencies | Klaus Aehlig | |
2024-10-28 | Retry Execution on FAILED_PRECONDITION | Klaus Aehlig | |
The specification for this status code is as follows. One or more errors occurred in setting up the action requested, such as a missing input or command or no worker being available. The client may be able to fix the errors and retry. We routinely ensure all inputs are available to the remote execution before we start an action, so all prerequisites will be there on a compliant server, however might not actually be on a server where the CAS only has eventual consistency or is incorrect (due to old cache entries on CAS purge) in its answer to FindMissingBlobs. While we have no guarantee that a retry will help, we still retry; at least in the case of an unavailable worker or CAS entries not yet available due to eventual consistency, this will help. Also, we log at debug lvel the full response, including the repeated Any message. In this way, we can find out what useful information (if any) is sent by popular remote-execution services and implement more specific mitigations in the future. | |||
2024-10-25 | Add dependencies explicitly that are included directly | Klaus Aehlig | |
... instead of relying on those dependencies being pulled in indirectly. | |||
2024-10-10 | Remove from OSS intersecting public-private dependencies | Maksim Denisov | |
2024-09-23 | Reorder dependencies and remove duplicates in OSS | Maksim Denisov | |
2024-09-18 | Introduce ByteStreamUtils, wrap kChunkSize | Maksim Denisov | |
...and use the qualified name ByteStreamUtils::kChunkSize | |||
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 | Rename Compatibility class to ProtocolTraits | Maksim Denisov | |
...and move it to the common stage. | |||
2024-09-09 | Use ArtifactDigestFactory casts in readers | Maksim Denisov | |
2024-09-09 | Use ArtifactDigest in BazelApi/BazelResponse | Maksim Denisov | |
2024-09-09 | Return ArtifactDigest from CreateActionDigestFromCommandLine | Maksim Denisov | |
2024-09-09 | Replace ArtifactDigest::Create | Maksim Denisov | |
...with ArtifactDigestFactory::HashDataAs | |||
2024-08-30 | Use BazelDigestFactory to create bazel_re::Digest directly if needed | Maksim Denisov | |
...bypassing ArtifactDigest functionality. | |||
2024-08-30 | Move artifact_blob_container to a standalone library | Maksim Denisov | |
2024-07-30 | Add extensible structure for remote execution-related entities | Paul Cristian Sarbu | |
2024-07-22 | Pass HashFunction to BazelNetwork | Maksim Denisov | |
2024-07-22 | Pass HashFunction to ArtifactDigest::Create | Maksim Denisov | |
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-05 | Move functionality from StorageConfig to related classes. | Maksim Denisov | |
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-06-04 | blob containers: Store and upload taking into account content size | Paul Cristian Sarbu | |
Update logic populating containers to use the new method which is aware of the maximum transfer limit. | |||
2024-05-28 | Move blob_tree to the common stage since it is used only there. | Maksim Denisov | |
2024-05-27 | Use common interface for reading tree entries and leafs | Maksim Denisov | |
...in LocalApi and BazelApi. | |||
2024-05-23 | Execution APIs: Extract common implementation into separate library | Paul Cristian Sarbu | |
This reduces the code duplication between the local and bazel APIs and improves code maintainability. | |||
2024-05-23 | execution_api: Cleanup of includes | Paul Cristian Sarbu | |
2024-03-15 | Clean up more includes and targets | Paul Cristian Sarbu | |
Some of the more specific issues addressed: - missing log_level target/include - header-only libs wrongly marking deps as private - missing/misplaced gsl includes | |||
2023-12-21 | bazel_network: use message_limits library | Alberto Sartori | |
2023-12-13 | bazel client: use the retry strategy, provided by the retry lib, when doing ↵ | Alberto Sartori | |
the rpc calls. | |||
2023-12-12 | execution_api: Move dispatch file parser into separate utility | Paul Cristian Sarbu | |
2023-11-30 | Splice blobs on disk | Klaus Aehlig | |
When using blob splitting, we expect to create a potentially large file. Therefore reconstruct it from its parts on disk rather than keeping the whole file in memory. | |||
2023-11-22 | Implement blob splitting protocol on just client side | Sascha Roloff | |
2023-11-07 | Bazel API: implement ParallelRetrieveToCas | Klaus Aehlig | |
... using thread-based parallelism for the blobs of each tree. | |||
2023-09-22 | RemoteServeConfig: Remove problematic inheritance | Paul Cristian Sarbu | |
This was causing the remote serve address to overwrite the one set for remote execution. Also, to keep things clean, some common remote server-related methods and definitions were moved into their own library. | |||
2023-09-13 | remote: Extract port parsing in own library | Paul Cristian Sarbu | |
2023-09-13 | remote: Extract common client implementation utils in own library | Paul Cristian Sarbu | |
2023-08-24 | Execution: only take complete actions from cache | Klaus Aehlig | |
... which are only actions that, besides giving exit code 0 also created all the outputs they promised to. | |||
2023-07-05 | RemoteExecutionConfiguration: support dispatch list | Klaus Aehlig | |
Extend the configuration data structure by a dispatch list of endpoints to chose based on the first match of the execution properties. | |||
2023-07-05 | Add serialisation of ServerAddress | Klaus Aehlig | |
... in a way consistent with what we're using at other places already. | |||
2023-04-26 | imports: Switch to Microsoft GSL implementation | Oliver Reiche | |
... with two minor code base changes compared to previous use of gsl-lite: - dag.hpp: ActionNode::Ptr and ArtifactNode::Ptr are not wrapped in gsl::not_null<> anymore, due to lack of support for wrapping std::unique_ptr<>. More specifically, the move constructor is missing, rendering it impossible to use std::vector<>::emplace_back(). - utils/cpp/gsl.hpp: New header file added to implement the macros ExpectsAudit() and EnsureAudit(), asserts running only in debug builds, which were available in gsl-lite but are missing in MS GSL. | |||
2023-04-26 | bazel_network: grpc++ is not a direct dependency | Oliver Reiche | |
2023-02-02 | bytestream_client: use common header with settings shared by both server and ↵ | Alberto Sartori | |
client | |||
2023-01-18 | authentication: add TLS and mTLS support | Alberto Sartori | |