Age | Commit message (Collapse) | Author | |
---|---|---|---|
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 | 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-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-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 | |
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-06-04 | bazel_network: Change UploadBlobs to also accept an rvalue | Paul Cristian Sarbu | |
This unifies the signature of all uploader functions consuming a BlobContainer type. | |||
2024-05-28 | Use shared_ptr for data in ContentBlob | Maksim Denisov | |
...to reduce the "price" of copying. | |||
2024-05-28 | Use ArtifactBlobContainer in IExecutionApi | Maksim Denisov | |
...instead of BazelBlobContainer to not bring bazel_re::Digest to IExecutionApi. | |||
2024-05-28 | Move blob_tree to the common stage since it is used only there. | Maksim Denisov | |
2024-05-28 | Rename BlobContainer to BazelBlobContainer | Maksim Denisov | |
2024-05-28 | Convert BlobContainer to a template | Maksim Denisov | |
...where the template parameter is the type of a digest. | |||
2024-05-28 | Use TransformedRange in BlobContainer | Maksim Denisov | |
...instead of various iterators. | |||
2024-05-28 | Move CreateBlobFromPath since it is only used in tests. | Maksim Denisov | |
2024-05-27 | Fix headers in local_cas and bazel_network. | Maksim Denisov | |
2024-05-27 | Use common interface for stream dumping | Maksim Denisov | |
...in LocalApi and BazelApi. | |||
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-05-23 | bazel_api: Remove extra complexity in RetrieveToCasSplitted | Paul Cristian Sarbu | |
We can avoid doing extra work in converting between bazel digests and artifact digests by actually using the API interface. | |||
2024-05-22 | Avoid memory usage duplication | Maksim Denisov | |
2024-05-22 | Remove unused code | Maksim Denisov | |
2024-05-21 | Ignore corrupted blobs during transfer while reading. | Maksim Denisov | |
2024-05-15 | logging: Do not make assumptions in emit calls | Paul Cristian Sarbu | |
The Emit method of the Logger class, when called with a string as second argument, expects it to be a format string. It should be considered a programming error to pass a string variable as that argument without knowing for certain that it does not contain any format escape character ('{', '}'); instead, one should be conservative and use the blind format string "{}" as second argument and pass the unknown string variable as third argument. | |||
2024-04-29 | bazel_response: Report failure to read stdout/stderr blobs of an action | Paul Cristian Sarbu | |
2024-04-29 | bazel_execution_client: Replace protobuf map use with STL | Paul Cristian Sarbu | |
2024-04-12 | file chunker: increase chunk sizes | Klaus Aehlig | |
As we use chunking also for reducing storage, we have to consider the overhead of block devices which is in the order of kB per file. So our target chunk size should be at least 2 orders of magnitude above this. This suggests to minimally aim for a chunk size of 128kB, a target size that also has the advantage the that maximal chunk size associated with this size is 1MB which is still well below the maximal transmission size of grpc allowing us to avoid the streaming API. As we're scaling everything up by a factor of 16, we also have to increase the number of bits in the involved masks by 4. We use this to also extend the window size by using the 2 most significant octets. Following the advice of the paper proposing FastCDC to spread out the ones roughly equally suggests 0x4444 as a suitable value for the two most significant octets. We also change the suggested extension of the remote-execution API accordingly. As the precise parameters for FastCDC when announced over the remote-execution APIs are still under discussion upstream, we simplify the name to not mention the target size. | |||
2024-03-26 | Add missing system includes | Paul Cristian Sarbu | |
Main culprits: - std::size_t, std::nullptr_t, and NULL require <cstddef> - std::move and std::forward require <utility> - unordered maps and sets require respective includes - std::for_each and std::all_of require <algorithm> |