Age | Commit message (Collapse) | Author | |
---|---|---|---|
2025-02-11 | BazelCapabilitiesClient: avoid unreasonable retries. | Maksim Denisov | |
2025-02-11 | Name library containing ExecutionConfiguration more appropriately | Klaus Aehlig | |
2025-02-10 | Take into account server capabilities while batching. | Maksim Denisov | |
2025-02-10 | Store BazelCapabilitiesClient in BazelNetwork | Maksim Denisov | |
...and pass it to BazelCasClient | |||
2025-02-10 | Implement BazelCapabilitiesClient | Maksim Denisov | |
2025-02-10 | BazelNetworkReader: Let BazelCasClient handle splitting of requests | Maksim Denisov | |
2025-02-10 | BazelCasClient: Honor content size on batch requests. | Maksim Denisov | |
2025-02-10 | BazelCasClient: BatchReadBlobs: Process one request at once. | Maksim Denisov | |
2025-02-10 | BazelCasClient: BatchUpdateBlobs: Process one request at once | Maksim Denisov | |
2025-02-10 | BazelCasClient: FindMissingBlobs: Process one request at once | Maksim Denisov | |
2025-02-10 | BazelCasClient: FindMissingBlobs: consider missing digests from failed requests | Maksim Denisov | |
2025-02-10 | BazelCasClient: replace ProcessResponseContents | Maksim Denisov | |
...with direct access to mutable fields and drop additional deep copies. | |||
2025-02-10 | Rename kMaxBatchTransferSize to MessageLimits::kMaxGrpcLength | Maksim Denisov | |
2025-02-07 | Move implementation of ContentBlob to artifact_blob | Maksim Denisov | |
...and remove ContentBlob. | |||
2025-02-07 | Rename artifact_blob_container to artifact_blob | Maksim Denisov | |
2025-02-07 | CommonApi: Remove template parameter from UploadAndUpdateContainer | Maksim Denisov | |
...since it works with ArtifactBlobs only. | |||
2025-02-07 | BazelCasClient: Use ArtifactDigest in FindMissingBlobs | Maksim Denisov | |
2025-02-07 | BazelCasClient: Use ArtifactDigest in bytestream reading | Maksim Denisov | |
2025-02-07 | BazelCasClient: Use ArtifactBlob in UpdateSingleBlob | Maksim Denisov | |
2025-02-07 | BazelCasClient: Use ArtifactBlob in BatchUpdateBlobs | Maksim Denisov | |
2025-02-07 | BazelCasClient: Use ArtifactDigest in BatchReadBlobs | Maksim Denisov | |
...and drop testing of invalid digests since ArtifactDigest always guarantees to hold a valid digest. | |||
2025-02-07 | BazelNetwork: Use ArtifactDigests in IsAvailable | Maksim Denisov | |
2025-02-07 | BazelNetwork: Use ArtifactBlobs in UploadBlobs | Maksim Denisov | |
2025-02-07 | BazelCasClient: Drop iterators in BatchReadBlobs | Maksim Denisov | |
2025-02-07 | BazelCasClient: Drop iterators in BatchUpdateBlobs | Maksim Denisov | |
2025-02-07 | BazelCasClient: Drop iterators in FindMissingBlobs | Maksim Denisov | |
...and remove extra method. | |||
2025-02-07 | BazelNetworkReader: Validate same blobs just once while batching. | Maksim Denisov | |
2025-02-07 | BaselCasClient: fix possible loss of data in BatchReadBlobs. | Maksim Denisov | |
2025-02-07 | BazelNetworkReader: Implement validation for ArtifactBlobs | Maksim Denisov | |
2025-02-07 | BazelNetworkReader: Use ArtifactDigest in IncrementalReader | Maksim Denisov | |
...and while there, pass digests needed to be read by pointer to IncrementalReader to avoid an extra copy. | |||
2025-02-07 | BazelNetworkReader: make reading methods that use bazel digest private | Maksim Denisov | |
2025-02-07 | BazelNetwork: Drop iterators in DoUploadBlobs | Maksim Denisov | |
2025-02-07 | Replace ArtifactBlobContainer and BazelBlobContainer | Maksim Denisov | |
...with explicit std::unordered_set. | |||
2025-02-07 | Replace ContentBlobContainer<T> with std::unordered_set | Maksim Denisov | |
2025-02-07 | BazelNetwork: Use unordered_set in UploadBlobs instead of BazelBlobContainer | Maksim Denisov | |
2025-02-07 | IExecutionApi: Rename IsAvailable to GetMissingDigests | Maksim Denisov | |
2025-02-07 | IExecutionApi: Use unordered_set in IsAvailable | Maksim Denisov | |
2025-02-07 | Remove logging related to blob splitting form BazelApi | Maksim Denisov | |
2025-02-07 | BazelCasClient: Use unordered_set in FindMissingBlobs | Maksim Denisov | |
2024-12-19 | Move functionality for staging from CAS to output paths to TreeReader | Maksim Denisov | |
...and employ it in LocalApi. | |||
2024-12-19 | Fix cause of minor warnings | Oliver Reiche | |
2024-12-19 | Fix struct member initialization | Oliver Reiche | |
2024-12-19 | Remove unused headers | Oliver Reiche | |
2024-12-09 | Remove redundant copies from BazelApi::IsAvailable | Maksim Denisov | |
...and ignore non-requested digests. | |||
2024-12-05 | While there, also avoid unnecessary indirection in RertrieveToPaths. | Klaus Aehlig | |
2024-12-05 | execution api: support retrieving from more than one API, also for fd | Klaus Aehlig | |
Extend the api to optionally accept a different API for preferred fetching. This is already supported when fetching to a file path; therefore, extend to keep the interface symmetric. | |||
2024-11-14 | execution_api/remote: Implement IWYU suggestions | Paul Cristian Sarbu | |
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-28 | BatchUploadBlobs: decrease log level for retried tasks | Klaus Aehlig | |
In BatchUploadBlobs we accept short writes and, in case of no progress, fall back to single blob upload. Therefore, failure to upload blobs is not fatal and therefore should not be reported at error level. Decrease the log level accordingly: a protocol failure to upload is a performance-related event (as the retry needs additional time), catching an internal exception is something that shouldn't really happen, so we warn the user. | |||
2024-10-25 | bugfix: bazel_network.cpp: fix handling of ongoing actions | Alberto Sartori | |
The rpc Execution::Execute returns stream google.longrunning.Operation. When the client reads the stream, the server can report that the operation is still in progress and the client has to wait. Before this patch, we were not checking for this particular condition. As a result, an ongoing action was interpreted as an execution failure. |