Age | Commit message (Collapse) | Author | |
---|---|---|---|
2025-03-24 | TmpDir: minor refactoring | Maksim Denisov | |
2025-02-28 | Include ArtifactDigestFactory into "common" library | Maksim Denisov | |
2025-02-20 | Separate off id generation to a separate library | Klaus Aehlig | |
... and rename appropriately to reflect contents more precisely than the generic "common". This separation also disentangles dependencies a bit. | |||
2024-12-09 | Move garbage_collector to a separate library | Maksim Denisov | |
2024-11-14 | tests: Implement IWYU suggestions | Maksim Denisov | |
2024-10-25 | Add dependencies explicitly that are included directly | Klaus Aehlig | |
... instead of relying on those dependencies being pulled in indirectly. | |||
2024-10-08 | Name value template parameters using kCamelCase. | Maksim Denisov | |
2024-10-08 | Name static constants using kCamelCase. | Maksim Denisov | |
2024-10-07 | Enable google-* checks. | Maksim Denisov | |
2024-10-07 | Enable bugprone-implicit-widening-of-multiplication-result check. | Maksim Denisov | |
2024-09-23 | Reorder dependencies and remove duplicates in OSS | Maksim Denisov | |
2024-09-13 | Use TestHashType in tests | Maksim Denisov | |
...instead of calling ProtocolTraits::IsCompatible | |||
2024-09-13 | Rename Compatibility class to ProtocolTraits | Maksim Denisov | |
...and move it to the common stage. | |||
2024-09-09 | Use ArtifactDigestFactory casts in Storage | Maksim Denisov | |
2024-09-09 | Replace ArtifactDigest::Create | Maksim Denisov | |
...with ArtifactDigestFactory::HashDataAs | |||
2024-09-09 | Replace ArtifactDigest::CreateFromFile | Maksim Denisov | |
...with ArtifactDigestFactory::HashFileAs | |||
2024-08-30 | Replace bazel_re::Digest in BazelMsgFactory (local trees) | Maksim Denisov | |
...with ArtifactDigest. | |||
2024-08-30 | Replace bazel_re::Digest in LocalAC | Maksim Denisov | |
...with ArtifactDigest. | |||
2024-08-30 | Replace bazel_re::Digest in LocalCAS::Split/Splice | Maksim Denisov | |
...with ArtifactDigest. | |||
2024-08-30 | Replace bazel_re::Digest in LocalCAS::{...}Path | Maksim Denisov | |
...with ArtifactDigest. | |||
2024-08-30 | Remove blob_creator lib from tests | Maksim Denisov | |
...and move this functionality to bazel_msg_factory_test, where it is actually used. For local_cas.test the regular hashing is used, since blob_creator is redundant there. | |||
2024-08-27 | Reformat code to comply with clang-format 18 | Klaus Aehlig | |
... while keeping our .clang-format file. | |||
2024-08-21 | tests: use newly defined test suite | Klaus Aehlig | |
... so that linting information gets propagated properly. | |||
2024-07-22 | Store HashFunction in StorageConfig | Maksim Denisov | |
2024-07-22 | Pass HashFunction to ArtifactDigest::Create | Maksim Denisov | |
2024-07-16 | Check compatibility in the test of large_object_cas | Maksim Denisov | |
2024-07-05 | Convert StorageConfig to a general class | Maksim Denisov | |
2024-07-05 | Remove HermeticLocalTestFixture | Maksim Denisov | |
...and create StorageConfig and Storage in place if needed. | |||
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 | 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 to GarbageCollection | Maksim Denisov | |
2024-07-05 | Use StorageConfig functionality via Instance() | Maksim Denisov | |
...to track changes during refactoring easier. | |||
2024-06-28 | Use (un)expected for CAS access | Oliver Reiche | |
2024-06-07 | Remove unused code | Maksim Denisov | |
2024-05-28 | Rename BlobContainer to BazelBlobContainer | Maksim Denisov | |
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-04-22 | Compactification: Remove invalid entries from the storage. | Maksim Denisov | |
During compactification, invalid entries must be deleted. | |||
2024-04-17 | Compactification: Split large entries. | Maksim Denisov | |
During garbage collection split and remove from the storage every entry that is larger than a threshold. | |||
2024-04-17 | Compactification: Remove spliced entries. | Maksim Denisov | |
During garbage collection remove from the storage every entry that has the large entry. | |||
2024-04-15 | LargeBlobs: Skip splicing of dependent objects during uplinking of AC, TC ↵ | Maksim Denisov | |
and trees. | |||
2024-04-15 | LargeBlobs: Make LocalCAS::BlobPathNoSync public to fix synchronization of ↵ | Maksim Denisov | |
executable files during splitting. | |||
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-04-08 | test: Add missing includes and fix deps | Paul Cristian Sarbu | |
2024-04-02 | LargeBlobs: Splice large objects from external sources. | Maksim Denisov | |
For splicing of large objects from external sources additional checks are performed: * The digest of the spliced result must be equal to the expected digest; * The parts of a spliced tree must be in the storage. Tested: * Regular splicing of large objects; * If the result is unexpected, splicing fails; * If some parts of a tree are missing, splicing fails. | |||
2024-04-02 | LargeBlobs: Uplink large objects. | Maksim Denisov | |
* Uplink parts of the large entry before entry itself; * Uplink large entries in LargeObjectCAS::GetEntryPath to not split things two times; * Promote spliced tree during uplinking of a large tree entry to properly promote parts of the tree; * Uplink large entries in LocalUplink{Blob, Tree} to support proper uplinking in Action Cache and Target Cache; Tested: * Uplink large blobs and trees; * Uplink a large object that depends on other large objects. | |||
2024-04-02 | LargeBlobs: Splice large objects implicitly. | Maksim Denisov | |
Implicitly reconstruct objects during regular uplinking of Blobs/Trees. | |||
2024-04-02 | LargeBlobs: Split large objects. | Maksim Denisov | |
* Add LargeObjectCAS fields for files and trees to LocalCAS; * Add logic for splitting objects located in the main storage. Tested: Splitting of large, small and empty objects. | |||
2023-06-26 | bazel_msg_factory: Allow non-upwards symlinks in uploaded trees | Paul Cristian Sarbu | |