| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
| |
to get the remote execution properties.
Fixes #4128.
This reverts commit 3ce42ef3074ee6d3ac7d9968381c8c0a51d9d38d.
Change-Id: I8b9ad5099f6334c2488a22baf05d0b273e10f776
PiperOrigin-RevId: 181550828
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks some remote execution clients.
*** Original change description ***
Have the RemoteSpawnRunner use the execution platform present in the Spawn to get the remote execution properties.
Fixes #4128.
Change-Id: I7e71caef2465204d2dd8225448d54e52366807e6
PiperOrigin-RevId: 179847553
|
|
|
|
|
|
|
|
|
| |
to get the remote execution properties.
Fixes #4128.
Change-Id: I7e71caef2465204d2dd8225448d54e52366807e6
PiperOrigin-RevId: 179595126
|
|
|
|
|
|
|
|
|
|
|
| |
Call it what it is.
RELNOTES: --remote_rest_cache was renamed to --remote_http_cache. Both
options keep working in this release, but --remote_rest_cache will be
removed in the next release.
Change-Id: I9e0b947f2184e0d543e7e19c5c33b6aa851d47d2
PiperOrigin-RevId: 179542826
|
|
|
|
|
|
|
|
| |
There's no point in having this option. We'll use as many TCP
connections as we'll need. Fewer options FTW.
Change-Id: I502eadd6a3a35040c7eda05ef49320b273ac26ad
PiperOrigin-RevId: 179533022
|
|
|
|
|
|
|
|
| |
A few help messages were missing a space after the period at the end of a sentence.
Closes #4094.
PiperOrigin-RevId: 177282132
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change removes Bazel's dependency on Hazelcast. This will help to reduce
size of the Bazel binary and simplify the usage of remote cache.
However Hazelcast library is still kept in the repository and still being
used by remote_worker. It is useful as a REST server to allow integration
testing with the remote rest cache functionality.
Change-Id: Ia21b970cedaec84bc6c13e839509d838acb5756f
PiperOrigin-RevId: 173880600
|
|
|
|
| |
PiperOrigin-RevId: 169874059
|
|
|
|
|
|
|
|
|
|
| |
AbstractSpawnRunner now uses a SpawnCache if one is registered, this allows
adding caching to any spawn runner without having to be aware of the
implementations.
I will delete the old CachedLocalSpawnRunner in a follow-up CL.
PiperOrigin-RevId: 165024382
|
|
|
|
|
|
|
| |
The option filters proto dependency can be removed from the OptionsParser. This is in response to option parser users that want to avoid the bazel-internal proto file in their dependencies.
RELNOTES: None.
PiperOrigin-RevId: 162249778
|
|
|
|
|
|
|
|
| |
This is in preparation for making it use the RemoteSpawnRunner, as part of
which it will no longer need to do that. Also, Java style says you shouldn't
do work in the constructor, and it's better dependency injection.
PiperOrigin-RevId: 161071134
|
|
|
|
|
|
|
|
|
|
| |
All options need to explicitly list their category and effect. If they are uncategorized, this makes the lack of information obvious. Remove defaults from the annotation to enforce this.
Also enforce the sanity check that no option should have UNKNOWN or NO_OP effects listed with other effect tags.
Includes some last default sets for options I missed in the previous mass-setting change, and some that were added since.
PiperOrigin-RevId: 160641861
|
|
|
|
|
|
|
|
| |
retry strategy may need tuning.
Other behavior changes: swallowing gRPC CANCELLED errors when the thread is interrupted, as these are expected and just make debugging difficult. Also, distinguishing between the gRPC DEADLINE_EXCEEDED caused by the actual command timing out on the server vs. other causes (the former should not be retriable, while the latter should retry).
TESTED=unit tests, remote worker on Bazel
PiperOrigin-RevId: 160605830
|
|
|
|
|
|
|
|
| |
Move the default from the annotation to every mention. This makes the incompleteness explicit. Will add the defaults to test targets in a separate change.
Once all dependencies are cleaned up, the Option annotation will no longer allow options without the documentationCategory or effectTag, to prevent new options being added without categories while we migrate to the new option categorization.
PiperOrigin-RevId: 160281252
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Connection pooling is a useful optimization for REST caches that are
far away as it avoids constantly redoing the TCP handshake. It also
prevents large builds from exhausting the local interface's source
ports through tens of thousands of one-transaction connections.
The default connection pool size of 20 is fairly arbitrary. Users
probably want to set this to something close to the value of --jobs.
We introduce some generic infrastructure for closing remote cache
instances and use it to cleanly shutdown the connection pool between
builds.
Change-Id: I73adc29ecae15cc10a1217ffbaa483892bcd4f9a
PiperOrigin-RevId: 160264681
|
|
|
|
|
|
| |
We don't want people to get used to this.
PiperOrigin-RevId: 158508816
|
|
|
|
|
|
|
|
|
| |
https://docs.google.com/document/d/1AaGk7fOPByEvpAbqeXIyE8HX_A3_axxNnvroblTZ_6s/edit
Also refactored away the various *Interface* files, no need since unit testing can be done with mocking the appropriate gRPC Impl classes directly (see tests). This also fixes the RemoteSpawnRunner, which should use different objects for remote caching and remote execution, the same way RemoteSpawnStrategy does.
RELNOTES: n/a
PiperOrigin-RevId: 158473700
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update the command line flags used by remote execution/caching as well as the
build event service (BES).
Major changes:
- Remote execution/caching and BES share flags for authentication and TLS.
- Removed API Key authentication from BES, as it's not being used.
- Add TLS support to BES upload.
- Add --bes_project_id flag. If set, the value is propagated as part of BES
lifecycle events.
For reviewers:
Start your review at CommonRemoteAndBesOptions, BuildEventServiceOptions and
RemoteOptions. The other changes are mostly automatic IDE renames of fields and
flag updates in shell script tests.
RELNOTES: None.
PiperOrigin-RevId: 156553857
|
|
|
|
|
|
|
|
|
| |
the bug that the RemoteWorker would fail to upload outputs that were too big to send in a single gRPC message.
Fixes #2822.
RELNOTES: n/a
PiperOrigin-RevId: 153710733
|
|
|
|
|
|
| |
TESTED: local server
RELNOTES: n/a
PiperOrigin-RevId: 153599636
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
line. This will be used during development to test new toolchains in docker
containers.
Example usage: --experimental_remote_platform_override='entry:{ name:"a" value:"b" } entry:{ name:"c" value:"d" }'
TESTED=local server
--
PiperOrigin-RevId: 149933081
MOS_MIGRATED_REVID=149933081
|
|
|
|
|
|
|
|
| |
execution. Usually it is enabled, and will be triggered whenever a remote_cache is specified, but a remote_worker is not; however, this flag allows to specifically disable it for the cases where remote_worker is defined, but something went wrong and we were forced to execute locally. This is useful to save time when the remote API does not actually support setting the remote action result.
--
PiperOrigin-RevId: 149007755
MOS_MIGRATED_REVID=149007755
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 141817345
MOS_MIGRATED_REVID=141817345
|
|
|
|
|
|
|
|
| |
execution cache.
--
PiperOrigin-RevId: 141807596
MOS_MIGRATED_REVID=141807596
|
|
|
|
|
|
|
| |
TODO during review: add A LOT more tests!
--
MOS_MIGRATED_REVID=133702188
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=133584935
|
|
|
|
|
|
|
| |
--
Change-Id: Ied34278c63c74aaf2db5ad90d5f076b3bddbe396
Reviewed-on: https://bazel-review.git.corp.google.com/#/c/4061/
MOS_MIGRATED_REVID=128165927
|
|
|
|
|
|
|
| |
--
Change-Id: I3255a14a60b7ae7749c49d5a885d92f4f19ec84f
Reviewed-on: https://bazel-review.git.corp.google.com/#/c/3980/
MOS_MIGRATED_REVID=127537367
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change allows starting remote worker with an embedded hazelcast server that listens to
a specific port. This allows test to run reliably.
Fixes #1271.
--
Change-Id: I0bb36af5837f83cad3d76b8acb50f89cd599ee87
Reviewed-on: https://bazel-review.googlesource.com/c/3650/
MOS_MIGRATED_REVID=122829898
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change implements a remote worker that executes work (build or test).
Bazel will be a client of the remote worker. The communication uses gRPC
and Netty as transport.
A single remote worker has little advantage over running locally. Additional
infrastructure is needed to run workers on multiple machines and distributing
the work among them.
This change provides the basic building blocks for a distributed build farm.
(Mainly reformatting changes compared to https://bazel-review.googlesource.com/3110, some BUILD file changes.)
--
Change-Id: If7d285444ef42a6823b59443af17b61b04b9ce6a
Reviewed-on: https://bazel-review.googlesource.com/#/c/3110/
MOS_MIGRATED_REVID=122376861
|
|
This patch implements distributed caching for Bazel using Hazelcast.
Hazelcast is used as a key value store that stores content of files
indexed by the digest of the file. The cache also stores the list of files
for an action. The key in this case is the digest from the key of the action
and the list of files.
In this change I also added the interface for remote execution. The
implementation will be added in a subsequent patch.
This change is only the first in a series of changes related to distributed
caching and remote execution. I plan to revise the APIs and implementation
in subsequent changes.
--
Change-Id: I569285d6149a4e9f8ba2362682c07a9f1e1943b7
Reviewed-on: https://bazel-review.googlesource.com/#/c/2760/
MOS_MIGRATED_REVID=114325038
|