summaryrefslogtreecommitdiff
path: root/src/buildtool/storage
AgeCommit message (Collapse)Author
2024-09-11Use HashInfo to create ObjectInfo FromStringMaksim Denisov
2024-09-11Return ArtifactDigest from RepositoryConfig::RepositoryKeyMaksim Denisov
...to prevent additional conversions to ArtifactDigest from plain strings.
2024-09-09Use ArtifactDigestFactory casts in StorageMaksim Denisov
2024-09-09Replace ArtifactDigest::CreateMaksim Denisov
...with ArtifactDigestFactory::HashDataAs
2024-09-09Replace ArtifactDigest::CreateFromFileMaksim Denisov
...with ArtifactDigestFactory::HashFileAs
2024-08-30Replace bazel_re::Digest in UplinkerMaksim Denisov
...with ArtifactDigest.
2024-08-30Replace bazel_re::Digest in LocalACMaksim Denisov
...with ArtifactDigest.
2024-08-30Replace bazel_re::Digest in LocalCAS::CheckTreeInvariantMaksim Denisov
...with ArtifactDigest
2024-08-30Replace bazel_re::Digest in LocalCAS::Split/SpliceMaksim Denisov
...with ArtifactDigest.
2024-08-30Replace bazel_re::Digest in LocalCAS::{...}PathMaksim Denisov
...with ArtifactDigest.
2024-08-30Return ArtifactDigest from LocalCAS::StoreMaksim Denisov
2024-08-30Replace bazel_re::Digest in LargeObjectCASMaksim Denisov
...with ArtifactDigest.
2024-08-30Replace bazel_re::Digest in ObjectCASMaksim Denisov
...with ArtifactDigest.
2024-08-30Replace bazel_re::Digest in GitRepo::SymlinksCheckFunc callbackMaksim Denisov
...with ArtifactDigest.
2024-08-28Demote message on absence of cach key to debugKlaus Aehlig
The separation of cache-key handling and CAS lockup in e6a91bb733b0738cee0b3ae06ee640f70c1e787f unified the log-level of two messages to warning: the absence of a cache entry (originally debug) and a report on a malformed entry in the cache (originally warning). As we routinely expect non-cached actions in a build, demote those messages to debug level in order to keep the log readable and not confuse the user with warnings about expected behaviour.
2024-08-27Reformat code to comply with clang-format 18Klaus Aehlig
... while keeping our .clang-format file.
2024-08-26Store LocalAC keys as ArtifactDigestsMaksim Denisov
2024-08-26Split serialization/deserialization logic in LocalACMaksim Denisov
...into writing/reading to CAS and writing/reading entries (to remove code duplications in uplinking and obtaining the result). The read functionality cannot be replaced by a single function since the CAS key of the entry is required during uplinking. Although the write functionality can, it is also separated into two parts to keep the reverse logic clear.
2024-08-26Reduce the size of large object entries.Maksim Denisov
Removed named keys of entries (hash, size). These prefixes were added for every chunk creating an additional overhead without any benefit. Removed prefixes of hashes (*62*hash) appearing in native mode and creating an additional overhead as well: it is known that all of them are blobs.
2024-08-07Remove HashFunction field from LocalACMaksim Denisov
...and get it from LocalCAS.
2024-08-07Pass to ObjectCAS an optional ExistsFunc using std::optionalMaksim Denisov
...since this is more readable. And adjust the LocalCAS's uplinker creator.
2024-08-07Replace classic C boolean operators with keywordsMaksim Denisov
! => not; && => and, || => or
2024-07-22Rename HashFunction methods and enumsMaksim Denisov
2024-07-22Unify tagging logic in HashFunctionMaksim Denisov
2024-07-22Convert HashFunction to a regular classMaksim Denisov
2024-07-22Use HashFunction from CAS in CompactifierMaksim Denisov
2024-07-22Use HashFunction from StorageConfig in fs_utilsMaksim Denisov
2024-07-22Pass HashFunction from StorageConfig to StorageMaksim Denisov
2024-07-22Store HashFunction in StorageConfigMaksim Denisov
2024-07-22Pass HashFunction to ArtifactDigest::CreateMaksim Denisov
2024-07-22Use HashFunction functionality via Instance()Maksim Denisov
...to track changes during refactoring easier.
2024-07-22Move ObjectCAS::CreateDigest to the private spaceMaksim Denisov
2024-07-19Add garbage collection routines for repository rootsKlaus Aehlig
2024-07-19Storage config: change layout to support several storage generationsKlaus Aehlig
2024-07-16TargetCache: Use StorageConfig instance for shardingPaul Cristian Sarbu
Instead of computing the shard based on the RemoteExecutionConfig singleton, use the already computed hash stored in the passed StorageConfig instance, which now needs to be set up separately if bootstrapping in order to avoid unwanted includes. Storing the backend description to CAS and corresponding audit checks now take place in main.
2024-07-16StorageConfig: Store also the execution backend description idPaul Cristian Sarbu
...such that it will be available to the TargetCache for sharing. Also, GC does not require remote execution information, so the logic for this subcommand is moved earlier in main.
2024-07-16Create separate library for DescribeBackendPaul Cristian Sarbu
2024-07-12Store 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-05Convert StorageConfig to a general classMaksim Denisov
2024-07-05Convert Storage to a general classMaksim Denisov
2024-07-05Call uplinking via UplinkerMaksim Denisov
... instead of static calls to GarbageCollector
2024-07-05Implement uplinking logic in a separate class.Maksim Denisov
2024-07-05Use StorageConfig with generation for initialization of Storage's generationsMaksim Denisov
...instead of std::filesystem::path. StorageConfig is extended to return paths of Storage's parts.
2024-07-05Pass Storage and StorageConfig to StorageUtils by referenceMaksim Denisov
2024-07-05Pass StorageConfig to GarbageCollectionMaksim Denisov
2024-07-05Pass StorageConfig to GarbageCollector::SharedLockMaksim Denisov
2024-07-05Use StorageConfig functionality via Instance()Maksim Denisov
...to track changes during refactoring easier.
2024-07-05Move functionality from StorageConfig to related classes.Maksim Denisov
2024-07-05Remove ConfigData from StorageConfigMaksim Denisov
...since it is an extra class that overcomplicates the config class.
2024-07-05Use a separate constructor for sharded TargetCacheMaksim Denisov