| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* This puts in the foundation of HTTP/2 support for remote caching.
* Allows us to remove the Apache HTTP library as a dependency, reducing
the Bazel binary size by 1MiB.
On fast networks (i.e. GCE to GCS) we can see a >2x speed improvement for TLS
throughput. Even from my workstation to GCS I get significant build time
improvements when using Netty's TLS 18s vs 12s.
Closes #4481.
PiperOrigin-RevId: 183411787
|
|
|
|
|
| |
Change-Id: Iacbba3eced0abc0dcfd7311a0f07da48cbaba6e4
PiperOrigin-RevId: 179664071
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
The action cache prefix is "ac", not "actioncache".
Change-Id: I841a026133ab3b4ec5b58a0cf29252dae49434fe
PiperOrigin-RevId: 179437730
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for Google Cloud Storage (GCS) as a HTTP caching backend.
This commit mainly adds the infrastructure necessary to authenticate
to GCS.
Using GCS as a caching backend works as follows:
1) Create a new GCS bucket.
2) Create a service account that can read and write to the GCS bucket
and generate a JSON credentials file for it.
3) Invoke Bazel as follows:
bazel build
--remote_rest_cache=https://storage.googleapis.com/<bucket>
--auth_enabled
--auth_scope=https://www.googleapis.com/auth/devstorage.read_write
--auth_credentials=</path/to/creds.json>
I'll add simplification's and docs in a subsequent commit.
Change-Id: Ie827d7946a2193b97ea7d9aa72eb15f09de2164d
PiperOrigin-RevId: 179406380
|
|
|
|
|
| |
RELNOTES: The --remote_rest_cache flag now respects --remote_timeout.
PiperOrigin-RevId: 177926523
|
|
|
|
|
|
|
|
|
| |
According to the SimpleBlobStore interface `containsKey` should look up blobs in the CAS. However, the URL it requests is missing `CAS_PREFIX`,
so it will never find anything.
Closes #4118.
PiperOrigin-RevId: 177313658
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This means we no longer keep large action inputs or outputs in memory
during upload.
I adjusted the SimpleBlogStore interface to require clients to pass in
the InputStream length. That allows us to always set Content-length on
uploads. It's polite to do so, so that the server may, e.g.,
preallocate space for the blob.
Fixes https://github.com/bazelbuild/bazel/issues/3250.
Change-Id: I944c9dbc35fa2fa80dce523b0133ea9757bb3973
PiperOrigin-RevId: 172433522
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The remote http caching client now prefixes the URL of an action cache
request with 'ac' and cas request with 'cas'. This is useful
as servers might want to distinquish between the action cache and the
cas.
Before this change:
(GET|PUT) /f141ae2d23d0f976599e678da1c51d82fedaf8b1
After this change:
(GET|PUT) /ac/f141ae2d23d0f976599e678da1c51d82fedaf8b1
(GET|PUT) /cas/f141ae2d23d0f976599e678da1c51d82fedaf8b1
This change will likely break any HTTP caching service that assumed the
old URL scheme.
TESTED: Manually using https://github.com/buchgr/bazel-remote
RELNOTES: The remote HTTP/1.1 caching client (--remote_rest_cache) now
distinquishes between action cache and CAS. The request URL for the
action cache is prefixed with 'ac' and the URL for the CAS
is prefixed with 'cas'.
PiperOrigin-RevId: 166831997
|
|
|
|
|
|
|
|
|
|
|
| |
- Move flag handling into RemoteModule to fail as early as possible.
- Make error messages from flag handling human readable.
- Fix a bug where remote execution would only support TLS with a root
certificate being specified.
- If a remote executor without a remote cache is specified, assume the
remote cache to be the same as the executor.
PiperOrigin-RevId: 161946029
|
|
|
|
|
|
|
| |
This avoid having to load all the data into memory at once in most cases,
especially for large files.
PiperOrigin-RevId: 160954187
|
|
Also extend the API to throw exceptions rather than having to wrap or swallow.
This is in preparation for adding yet another implementation using an on-disk
cache. Having the RemoteWorker keep everything in memory is not good for my
sanity.
PiperOrigin-RevId: 160871586
|