summaryrefslogtreecommitdiff
path: root/src/buildtool/serve_api/serve_service
AgeCommit message (Collapse)Author
2025-02-14code structure: rename symlinks_map folder to symlinksPaul Cristian Sarbu
...to remove the unnecessary link between folder name and the logic of resolve_symlinks_map.
2025-01-22serve service: honor keep_artifact_rootKlaus Aehlig
2025-01-22Source-tree service: accept lock referenceKlaus Aehlig
... so that tagging in the associated git root can be synchronized with other services provided by just serve.
2025-01-22Serve protocol: support keeping the artifact stage as rootKlaus Aehlig
In the serve protocol, extend ServeTargetRequest by a flag indicating that the client whishes the server to keep the artifact stage as an additional root. In this way, if a computed root is built on serve it can be used as an absent root without additional communication overhead.
2025-01-21TreeStructure: Compute on serveMaksim Denisov
2025-01-21TreeStructure: Extend just-serve's protoMaksim Denisov
2025-01-15Use GitRepo::IsTreeInRepo in target utilsMaksim Denisov
2025-01-15Use GitRepo::IsTreeInRepo in SourceTreeServiceMaksim Denisov
2025-01-15Use GitRepo::ImportToGit in SourceTreeServiceMaksim Denisov
2025-01-08source tree service: Fix ensuring Git cache rootPaul Cristian Sarbu
This is an amendment to the changes in commit 8234079, as the underlying issue was only partially solved there. While the call to GitRepo::InitAndOpen is in itself properly guarded, it does not share a lock with the call to create the path to the Git cache if it is missing. Fix this by moving the call to the method ensuring the Git cache initialization to after acquiring the Git cache root garbage collector shared lock.
2025-01-07source tree service: Ensure the Git cache existsPaul Cristian Sarbu
Similarly to just-mr, each SourceTree RPC must ensure that the Git cache folder exists and the Git cache repository is initialized before using it. While there, fix missing shared locks on the Git cache root.
2025-01-07Implement rebuilding of StorageConfigMaksim Denisov
2025-01-07Add backend description to CAS in a ctor of TargetCacheMaksim Denisov
...instead of adding it preliminarily.
2025-01-07TargetCache: use BackendDescription for sharding instead of a plain stringMaksim Denisov
2025-01-07TargetCache: employ the shard even for a default constructed objectMaksim Denisov
...since this is a more generic approach.
2025-01-07Pack BackendDescription to a classMaksim Denisov
...to let it be stored as an independent instance.
2024-12-19Remove unneeded compat_storageOliver Reiche
2024-12-19Remove unnecessary movesOliver Reiche
2024-12-09Move garbage_collector to a separate libraryMaksim Denisov
2024-12-09Use expected to return an error from ParseRootMaksim Denisov
2024-12-09Localize error_msg argument of ParseRootMaksim Denisov
...and use expected to replace it.
2024-12-04Rename MRApiUtils to RehashUtilsMaksim Denisov
2024-11-20Return ResultTargetMap from analysisMaksim Denisov
...instead of filling in a map passed from the outside.
2024-11-20Serve service: properly lock git operations against each otherKlaus Aehlig
... by using an exclusive lock. A lock of which only ever shared instances are requested has no synchronisation effect. Fix this.
2024-11-14serve_api: Implement IWYU suggestionsPaul Cristian Sarbu
2024-10-29Clean up unused dependenciesKlaus Aehlig
2024-10-25Add dependencies explicitly that are included directlyKlaus Aehlig
... instead of relying on those dependencies being pulled in indirectly.
2024-10-25Enable compatible mode for just-mr and SourceTree serve service...Paul Cristian Sarbu
...by using the new local api that can handle any remote endpoint, irrespective of protocol. Also ensure all tests for the serve service are now being run both in native and compatible modes.
2024-10-25serve service: Set correct protocol-aware digests in responsesPaul Cristian Sarbu
When returning digests in responses, ensure they are of the type the remote would know. Compatible digests can be found vis the stored mappings from Git digests to bazel objects.
2024-10-25serve service: Use digest when requesting serve to set up a treePaul Cristian Sarbu
...instead of passing just the Git hash, which imposes the remote to always be native. The serve service proto file is updated accordingly.
2024-10-25serve service: Respond with digest for blob and tree checksPaul Cristian Sarbu
...to be able to interrogate remotes irrespective of protocol. When serve endpoint is active, it will provide the correct digest with which to interrogate the remote endpoint. Otherwise, for a compatible remote check the file mappings for the correct digest. The serve service proto file is updated accordingly.
2024-10-25serve service: Respond also with digest in serve repository tree RPCsPaul Cristian Sarbu
...besides the simple Git hash, if syncing was done. This way one can know what digest to ask for from the remote. The serve client also needs to now know what hash function the remote expects. The serve service proto file is updated accordingly.
2024-10-25serve proto: Fix inconsistencies in referring to GitPaul Cristian Sarbu
2024-10-25just-mr and SourceTree: Use new Git execution api instancePaul Cristian Sarbu
In just-mr: to instantiate the new Git api instance, both storage configs, as well as the compatible storage, need to be passed to the maps. While there, use more explicit naming schemes for the storage and CAS instances used. In serve: also acquire gc locks for the local storages when needed to instantiate the new Git api, which now has access to the CAS. In all these instances we also pass, as needed, the local api, which currently still operates only in native mode. This makes no difference currently, but will ensure less changes needed when the future compatible-aware local api will be used instead.
2024-10-25serve service: Give SourceTreeService access to both local storagesPaul Cristian Sarbu
...native and compatible, even if currently only native is active. While there, be more explicit in which storage instance is being used.
2024-10-10Remove from OSS intersecting public-private dependenciesMaksim Denisov
2024-10-07Enable readability-redundant-member-init check.Maksim Denisov
2024-09-23Reorder dependencies and remove duplicates in OSSMaksim Denisov
2024-09-17Small code improvements based on lint warningsPaul Cristian Sarbu
- add more noexcept requirements and enforce existing - fixing inconsistencies related to function arguments - remove redundant static keywords - silencing excessive lint reporting in test cases While there, make more getters const ref.
2024-09-13Check compatibility in serve services based on the hash typeMaksim Denisov
2024-09-13Pass HashFunction::Type to ConfigurationServiceMaksim Denisov
...to get the protocol type.
2024-09-13Pass HashFunction::Type to CapabilitiesServerMaksim Denisov
...to get the protocol type.
2024-09-13Rename Compatibility class to ProtocolTraitsMaksim Denisov
...and move it to the common stage.
2024-09-12coding style: use qualified call to std::moveKlaus Aehlig
2024-09-11Use ArtifactDigestFactory in TargetServiceMaksim Denisov
...to create ArtifactDigests.
2024-09-11Use ArtifactDigestFactory in SourceTreeServiceMaksim Denisov
...to create ArtifactDigests.
2024-09-09Validate hashes in serve's targetMaksim Denisov
2024-09-09Fix typo in OperationsServiceImpl's nameMaksim Denisov
2024-08-30Cast ArtifactDigest to bazel_re::Digest explicitlyMaksim Denisov
...to simplify further refactoring.
2024-08-30Return ArtifactDigest from LocalCAS::StoreMaksim Denisov