bazel icon indicating copy to clipboard operation
bazel copied to clipboard

incompatible_remote_build_event_upload_respect_no_cache

Open coeuvre opened this issue 4 years ago • 2 comments

Background

If remote cache is enabled, Bazel will upload blobs referenced in the BEP to remote cache and replace the file path in the BEP with URI pointing to the remote CAS so that consumers of BEP can find the blobs.

Problem

In some cases, we don't want to upload some blobs to remote cache by using tags (e.g. no-remote-cache-upload) or flags (e.g. --remote_upload_local_results=false). But the BEP file uploader ignores those flags and always upload blobs referenced in the BEP to remote cache even if the generating actions cannot be cached.

--incompatible_remote_build_event_upload_respect_no_cache was introduced by #14338 to fix this problem so that if the generating actions cannot be cached, their outputs won't be uploaded to remote cache by BEP.

Migration

If you don't use remote cache nor BEP, no migration is needed.

If you use tags or flags to prevent outputs being uploaded to remote cache, after the flag --incompatible_remote_build_event_upload_respect_no_cache is flipped, those blobs will not be uploaded to remote cache by BEP.

Expected timeline

We expect to flip --incompatible_remote_build_event_upload_respect_no_cache to true and remove it in Bazel 6.0.

coeuvre avatar Mar 30 '22 12:03 coeuvre

@coeuvre Should we flip this flag now? https://buildkite.com/bazel/bazelisk-plus-incompatible-flags/builds/1253 says it won't break any downstream projects (ignore the rules_nodejs ones)

meteorcloudy avatar Sep 14 '22 17:09 meteorcloudy

I am not confident enough to flip this flag for 6.0, especially considering there are some edge cases this flag cannot solve (#16151). I might work in another direction to solve the problem which could allow us to remove this flag. I'm not clear ATM.

coeuvre avatar Sep 15 '22 11:09 coeuvre

This was deprecated in 6.0. @coeuvre I'm going to make a PR that makes it a no-op for 7.0, so it can be fully removed in 8.0, okay?

brentleyjones avatar Apr 04 '23 12:04 brentleyjones

SGTM. Thanks!

coeuvre avatar Apr 05 '23 09:04 coeuvre

https://github.com/bazelbuild/bazel/pull/17989

brentleyjones avatar Apr 05 '23 13:04 brentleyjones

Already flipped. Closing.

coeuvre avatar Oct 20 '23 14:10 coeuvre