-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bazel uploads outputs of no-remote actions when used in combination with a disk-cache #14900
Comments
cc: @coeuvre |
@bazel-io fork 5.1 |
Thanks for the detailed report. I can reproduce this bug. The root cause is I have to admit the design that hiding combined cache behind a common interface introduces lots of troubles and I have done many quick&dirty hacks to work around edge cases in the past. I am going to explicitly introduce the concept of disk cache to a higher level so we can handle those differently. |
@bazel-io flag |
@bazel-io fork 5.2.0 |
@coeuvre looks like this isn't a clean cherry-pick onto 5.2. Can you take a look please 🙏. |
...ploaded to remote cache when remote execution is enabled. Fixes bazelbuild#14900. Also fixes an issue that action result from just remotely executed action is not saved to disk cache. The root cause is the action result is inlined in the execution response hence not downloaded through remote cache, hence not saved to disk cache. This results in the second build misses the disk cache, but it can still hit the remote cache and fill the disk cache. The third build can hit disk cache. Closes bazelbuild#15212. PiperOrigin-RevId: 441426469
…ploaded to remote cache when remote execution is enabled. Fixes bazelbuild#14900. Also fixes an issue that action result from just remotely executed action is not saved to disk cache. The root cause is the action result is inlined in the execution response hence not downloaded through remote cache, hence not saved to disk cache. This results in the second build misses the disk cache, but it can still hit the remote cache and fill the disk cache. The third build can hit disk cache. Closes bazelbuild#15212. PiperOrigin-RevId: 441426469
… are u... (#15453) * Remote: Fix a bug that outputs of actions tagged with no-remote are u… …ploaded to remote cache when remote execution is enabled. Fixes #14900. Also fixes an issue that action result from just remotely executed action is not saved to disk cache. The root cause is the action result is inlined in the execution response hence not downloaded through remote cache, hence not saved to disk cache. This results in the second build misses the disk cache, but it can still hit the remote cache and fill the disk cache. The third build can hit disk cache. Closes #15212. PiperOrigin-RevId: 441426469 * Fix test Co-authored-by: Chenchu K <[email protected]>
Description of the problem / feature request:
I've seem to have a discovered a bug that is slowing down our remote execution builds. Our build has some pretty large blobs that we don't want to upload to the remote cache since it would take way too long, so this is an example of how we disable those specific actions from running remotely and uploading to the remote cache:
With Bazel 5, we also enabled the use of a disk cache with our remote exec build. This is now causing long uploads for actions that are marked as
no-remote
.What seems to be happening is the following:
no-remote
tag.I've verified that disabling the disk cache or setting the action mnemonics to
no-cache
works around the issue.Feature requests: what underlying problem are you trying to solve with this feature?
Building with remote execution and disk cache should be efficient. This means being able to prevent certain action mnemonics inputs/outputs to be uploaded without disabling the disk cache completely.
Bugs: what's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.
This needs a working remote exec cluster, but I believe it should be reproducible by building https://github.com/bazelbuild/rules_apple/blob/master/examples/ios/HelloWorld/BUILD with the following flags:
What operating system are you running Bazel on?
macOS 12.1
What's the output of
bazel info release
?release 5.0.0
Any other information, logs, or outputs that you want to share?
This is a snippet of our gRPC log with some of the interesting fields:
The text was updated successfully, but these errors were encountered: