summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api
AgeCommit message (Collapse)Author
2025-02-07IExecutionApi: Rename IsAvailable to GetMissingDigestsMaksim Denisov
2025-02-07IExecutionApi: Use unordered_set in IsAvailableMaksim Denisov
2025-02-07Remove logging related to blob splitting form BazelApiMaksim Denisov
2025-02-07BazelCasClient: Use unordered_set in FindMissingBlobsMaksim Denisov
2025-02-07ContentBlob: Support hashingMaksim Denisov
2025-01-29local api: absence of a git api is not a success in retrievingKlaus Aehlig
While there, also check for availability first, to avoid duplicated error messages (from git_cas and the caller).
2025-01-22Git CAS access: reduce log levelKlaus Aehlig
Trying to access a git object return a recoverable failure, hence the failure to find the object in the git object database should be logged at warning level at most. Moreover, in some cases we should log that event at an even lower level, e.g., if we're just checking the presence of the object in the local git cas to avoid unnecessary network access.
2025-01-22local api: take git fallback seriouslyKlaus Aehlig
... and, when asked if an artifact is available, also inspect the git cas.
2024-12-20clean up dependenciesKlaus Aehlig
2024-12-19Move functionality for staging from CAS to output paths to TreeReaderMaksim Denisov
...and employ it in LocalApi.
2024-12-19Fix cause of minor warningsOliver Reiche
2024-12-19Fix struct member initializationOliver Reiche
2024-12-19Remove unused headersOliver Reiche
2024-12-19Remove unneeded compat_storageOliver Reiche
2024-12-19Remove unnecessary movesOliver Reiche
2024-12-09Move garbage_collector to a separate libraryMaksim Denisov
2024-12-09Remove redundant copies from BazelApi::IsAvailableMaksim Denisov
...and ignore non-requested digests.
2024-12-06Cleanup dependenciesKlaus Aehlig
2024-12-05While there, also avoid unnecessary indirection in RertrieveToPaths.Klaus Aehlig
2024-12-05execution api: support retrieving from more than one API, also for fdKlaus 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-12-05Common API: correctly report failureKlaus Aehlig
If fetching via the primary API failed and there is no fallback, we should fail rather than tacitly continuing with the next object to fetch.
2024-12-04rehash_utils: add a class for the rehash functionKlaus Aehlig
... to allow a more specific signature when passing around the rehash function.
2024-12-04Add deep rehashing from bazel::Directories to GitMaksim Denisov
2024-12-04BazelMsgFactory: Add method to create Git tree from bazel DirectoryPaul Cristian Sarbu
2024-12-04Add RehashGitDigest functionMaksim Denisov
2024-12-04Add RehashDigest functionMaksim Denisov
2024-12-04Rename MRApiUtils to RehashUtilsMaksim Denisov
2024-11-29Clean up unused depsKlaus Aehlig
2024-11-14execution_api remaining: Implement IWYU suggestionsPaul Cristian Sarbu
2024-11-14execution_api/remote: Implement IWYU suggestionsPaul Cristian Sarbu
2024-11-14execution_api/execution_service: Implement IWYU suggestionsPaul Cristian Sarbu
2024-10-29Clean up unused dependenciesKlaus Aehlig
2024-10-28Retry Execution on FAILED_PRECONDITIONKlaus 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-28BatchUploadBlobs: decrease log level for retried tasksKlaus 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-25Add dependencies explicitly that are included directlyKlaus Aehlig
... instead of relying on those dependencies being pulled in indirectly.
2024-10-25Add new local execution api that can interact with any remotePaul Cristian Sarbu
...irespective of the used protocol. This api is useful in enabling just-mr and the SourceTree service of just serve to interact seamlessly with any remote-execution endpoint.
2024-10-25Add new Git execution api that can interact with any remotePaul Cristian Sarbu
...irrespective of the used protocol. This api is useful in enabling just-mr and the SourceTree service of just serve to interact seamlessly with any remote-execution endpoint.
2024-10-25Add utility methods for digest mappingsPaul Cristian Sarbu
These allow to read and write file associations between known digests in different CAS instances.
2024-10-25BazelMsgFactory: Add method to create bazel Directory from Git treePaul Cristian Sarbu
2024-10-25bugfix: bazel_network.cpp: fix handling of ongoing actionsAlberto 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.
2024-10-10Remove from OSS intersecting public-private dependenciesMaksim Denisov
2024-10-08Name local variables using lower_caseMaksim Denisov
...and private members using lower_case_
2024-10-08Name static constants using kCamelCase.Maksim Denisov
2024-10-08Name type template parameters using CamelCase.Maksim Denisov
2024-10-08Name classes, structs and enums using CamelCase.Maksim Denisov
2024-10-07Enable cppcoreguidelines-* checks.Maksim Denisov
2024-10-07Disable misc-no-recursion checkMaksim Denisov
...since we use recursion for trees a lot, but skip this check manually.
2024-10-07Enable readability-* checks.Maksim Denisov
2024-10-07Enable readability-redundant-member-init check.Maksim Denisov
2024-10-07Enable bugprone-empty-catch check.Maksim Denisov