Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-07-12 | Use static Create functions to construct ArtifactDescription | Maksim Denisov | |
...instead of unobvious ctors relying on overload resolution. | |||
2024-07-12 | Move implementation details of ArtifactDescription to the cpp file | Maksim Denisov | |
2024-07-12 | DAG: remove methods used in tests only | Maksim Denisov | |
2024-07-12 | DAG: remove IsValid since it is used in tests only. | Maksim Denisov | |
2024-07-12 | DAG: remove unused methods | Maksim Denisov | |
2024-07-12 | Capture in TreeReaders by pointer to avoid temporaries | Maksim Denisov | |
2024-07-12 | Replace IBundle classes family with BazelBlob | 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-12 | Remove unused parameters in CreateDirectoryDigestFromTree | Maksim Denisov | |
2024-07-12 | Move BazelMsgFactory reading functions to a separate class | Maksim Denisov | |
2024-07-12 | Store newly spliced executables as copies. | Maksim Denisov | |
During multithreaded splicing, the main process can be forked (inheriting open file descriptors). In this case, the executable file saved using hardlinking becomes inaccessible. To prevent this, executables must be stored as copies made in a child process. | |||
2024-07-11 | just: Fix storage instantiation in main | Paul Cristian Sarbu | |
As the storage instance also instantiates the target cache, we need to ensure that each such instance has at that point all the correct remote endpoint information to ensure the target cache sharding works as expected. In particular, the server-side and client-side operations of just have a slightly different setup for the remote endpoint address, therefore they require the storage instantiation to be done separately. | |||
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-10 | Artifact::ObjectInfo: add order | Klaus Aehlig | |
2024-07-10 | ArtifactDigest: add order | Klaus Aehlig | |
2024-07-05 | local action: copy input file on reaching symlink limit | Klaus Aehlig | |
... and continue with the newly created copy as target for the next hard links. In this way, we get rid of the restriction we used to have that the number of identical inputs be not greater than the hardlink limit. | |||
2024-07-05 | FileSystemManager::CreateFileHardlink: return error code on failure | Klaus Aehlig | |
Instead of returning a plain boolean, return an expected with the same boolean value that in case of an error indicates the error code. In this way, an error-specific handling is possible by consumers. While there, also add proper quoting of the involved file names. | |||
2024-07-05 | Convert StorageConfig to a general class | Maksim Denisov | |
2024-07-05 | Convert Storage to a general class | Maksim Denisov | |
2024-07-05 | Call uplinking via Uplinker | Maksim Denisov | |
... instead of static calls to GarbageCollector | |||
2024-07-05 | Implement uplinking logic in a separate class. | Maksim Denisov | |
2024-07-05 | Use StorageConfig with generation for initialization of Storage's generations | Maksim Denisov | |
...instead of std::filesystem::path. StorageConfig is extended to return paths of Storage's parts. | |||
2024-07-05 | Pass StorageConfig and Storage to just-mr maps | Maksim Denisov | |
2024-07-05 | Pass Storage to add-to-cas | Maksim Denisov | |
2024-07-05 | Pass Storage to RepositoryConfig | Maksim Denisov | |
...and adjust AnalyseContext. | |||
2024-07-05 | Pass StorageConfig and Storage to LocalApi | Maksim Denisov | |
2024-07-05 | Pass StorageConfig and Storage to ServerImpl | Maksim Denisov | |
2024-07-05 | Pass StorageConfig and Storage to Serve | Maksim Denisov | |
2024-07-05 | Pass StorageConfig to git_repo and git_repo_remote | Maksim Denisov | |
2024-07-05 | Pass Storage and StorageConfig to StorageUtils by reference | Maksim Denisov | |
2024-07-05 | Pass StorageConfig to GarbageCollection | Maksim Denisov | |
2024-07-05 | Pass StorageConfig to GarbageCollector::SharedLock | Maksim Denisov | |
2024-07-05 | Use StorageConfig functionality via Instance() | Maksim Denisov | |
...to track changes during refactoring easier. | |||
2024-07-05 | Move functionality from StorageConfig to related classes. | Maksim Denisov | |
2024-07-05 | Remove ConfigData from StorageConfig | Maksim Denisov | |
...since it is an extra class that overcomplicates the config class. | |||
2024-07-05 | Use a separate constructor for sharded TargetCache | Maksim Denisov | |
2024-07-04 | Remove default arguments that are always passed anyway. | 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 | Use ApiBundle's Auth::TLS instance in serve and execute servers | Paul Cristian Sarbu | |
2024-07-04 | Pass Auth::TLS instance to BazelApi and ServeApi | Paul Cristian Sarbu | |
2024-07-04 | Use Auth and TLS configurations via Instance() | Paul Cristian Sarbu | |
...to more easily keep track of changes during refactoring. | |||
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-07-01 | Reorder compatibility commands in Compactification | Maksim Denisov | |
2024-07-01 | Ensure unique paths are used in compactification | Maksim Denisov | |
2024-06-28 | Use (un)expected for serve API | Oliver Reiche | |
2024-06-28 | Use (un)expected for serve service | Oliver Reiche | |
2024-06-28 | Use (un)expected for Git repo | Oliver Reiche | |