summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2025-02-10MessageLimits: move grpc to private deps.Maksim Denisov
2025-02-10MessageLimits: Add header guardMaksim Denisov
2025-02-10content_git_map: remove unused parametersKlaus Aehlig
2025-02-07Move implementation of ContentBlob to artifact_blobMaksim Denisov
...and remove ContentBlob.
2025-02-07Rename artifact_blob_container to artifact_blobMaksim Denisov
2025-02-07CommonApi: Remove template parameter from UploadAndUpdateContainerMaksim Denisov
...since it works with ArtifactBlobs only.
2025-02-07Remove BazelBlobMaksim Denisov
2025-02-07BazelCasClient: Use ArtifactDigest in FindMissingBlobsMaksim Denisov
2025-02-07BazelCasClient: Use ArtifactDigest in bytestream readingMaksim Denisov
2025-02-07BazelCasClient: Use ArtifactBlob in UpdateSingleBlobMaksim Denisov
2025-02-07BazelCasClient: Use ArtifactBlob in BatchUpdateBlobsMaksim Denisov
2025-02-07BazelCasClient: Use ArtifactDigest in BatchReadBlobsMaksim Denisov
...and drop testing of invalid digests since ArtifactDigest always guarantees to hold a valid digest.
2025-02-07BazelNetwork: Use ArtifactDigests in IsAvailableMaksim Denisov
2025-02-07BazelNetwork: Use ArtifactBlobs in UploadBlobsMaksim Denisov
2025-02-07ByteStreamUtils: Use ArtifactDigestMaksim Denisov
2025-02-07BazelCasClient: Drop iterators in BatchReadBlobsMaksim Denisov
2025-02-07BazelCasClient: Drop iterators in BatchUpdateBlobsMaksim Denisov
2025-02-07BazelCasClient: Drop iterators in FindMissingBlobsMaksim Denisov
...and remove extra method.
2025-02-07BazelNetworkReader: Validate same blobs just once while batching.Maksim Denisov
2025-02-07BaselCasClient: fix possible loss of data in BatchReadBlobs.Maksim Denisov
2025-02-07BazelNetworkReader: Implement validation for ArtifactBlobsMaksim Denisov
2025-02-07BazelNetworkReader: Use ArtifactDigest in IncrementalReaderMaksim Denisov
...and while there, pass digests needed to be read by pointer to IncrementalReader to avoid an extra copy.
2025-02-07BazelNetworkReader: make reading methods that use bazel digest privateMaksim Denisov
2025-02-07BazelNetwork: Drop iterators in DoUploadBlobsMaksim Denisov
2025-02-07Remove ContentBlobContainer and TransformedRangeMaksim Denisov
2025-02-07Replace ArtifactBlobContainer and BazelBlobContainerMaksim Denisov
...with explicit std::unordered_set.
2025-02-07Replace ContentBlobContainer<T> with std::unordered_setMaksim Denisov
2025-02-07BazelNetwork: Use unordered_set in UploadBlobs instead of BazelBlobContainerMaksim Denisov
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-02-07DAG: Drop usage of TransformedRange.Maksim Denisov
2025-02-07Implement BackMapMaksim Denisov
...that is a container of Values mapped to Keys, and supports constant complexity search of a Value by a given Key
2025-02-06logging: switch time stamps to UTCKlaus Aehlig
Time stamps in local time without explicit time zone are ambigious, definitely at the end of daylight saving time. Moreover, even if explicit time zones were given, it is still unconvenient to correctly sort event expressed in different time zones. However, with increased use of `just serve`, logs originating from different machines become the norm. Therefore, normalize all time stamps to UTC (and explicitly state that this is the time zone used).
2025-02-05just-mr gc-repo: support drop onlyKlaus Aehlig
As opposed to the regular CAS/cache, for the git repository implicit in the repository cache we cannot guarantee that data from older generation is always promoted via hard links. Therefore, a certain amount of data can be duplicated between the repo-cache generations. In order to allow compacting storage to the minimum, add an option to gc-repo to only remove the older generation, without rotating.
2025-02-05Repository garbage collector: support dropping onlyKlaus Aehlig
Add support for repository gargabe collection to only drop the older generations without rotating.
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-29garbage collection: remove garbage recursivelyKlaus Aehlig
When garbage collecting the oldest generation, we expect it to be a non-empty directory. Therefore, remove it recursively.
2025-01-28Progress reporting: also report the primary action outputKlaus Aehlig
While reporting an origin target with action number within that target describes an action uniquely in a way meaningful to the user, it might not always be eay to unserstand which precise action is currently running. For example, for a library with many source files, we have a target generating a large number of actions and the association of source file to action number requires detailled knowledge of the build description. The name of the primary ouput of that action, on the other hand immediately identifies the file that is compiled. Therefore, report this as well.
2025-01-24Add native comparison of configured targetsKlaus Aehlig
... and use it when normalizing the origins of actions. For this task, any well-defined linear order is sufficient. Using a native comparision (rather than comparing the canonical serialisation) significantly speeds up that normalisation process, as the assumption that it would be rare that an action has more than one origin turned out to be false. In fact, we have seeen cases where this sorting used to take several seconds before this change, so that this change reduced analysis time by more than a factor of 5.
2025-01-24"generic" rule: verify staging conflicts on inputsKlaus Aehlig
The "generic" rules deliberately resolves conflicts on identical paths in a latest-wins fashion (seeing all artifacts as later than all runfiles) to allow an easy way to define actions. However, the inputs stage obtained by this resolution can still contain conflicts and those are an error. Properly detect those. Also clarify in the documentation, that only conflicts on identical paths are resolved in the described priority, not semantic overlap.
2025-01-23Computed roots: add basic progress reportingKlaus Aehlig
2025-01-23Add basic progress reporter on root evaluationKlaus Aehlig
2025-01-23Remove unused library "root_utils"Maksim Denisov
2025-01-23JustMr: Replace calls to CheckServeHasAbsentRoot with direct calls to serveMaksim Denisov
2025-01-23PrecomputedRoot: Remove DownloadFromServeMaksim Denisov
... and replace it with a direct call to serve.
2025-01-23ServeApi: Implement DownloadTreeMaksim Denisov
2025-01-23PrecomputedRoots: Remove UploadToServeMaksim Denisov
... and replace it with a direct call to serve.