Skip to content
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

Provide more helpful information if a cache key is missing with builds-without-the-bits #10025

Closed
Tracked by #12665
phb opened this issue Oct 14, 2019 · 7 comments
Closed
Tracked by #12665
Assignees
Labels
not stale Issues or PRs that are inactive but not considered stale P2 We'll consider working on this in future. (Assignee optional) team-Remote-Exec Issues and PRs for the Execution (Remote) team type: feature request

Comments

@phb
Copy link

phb commented Oct 14, 2019

Description of the problem / feature request:

When running with build --remote_download_toplevel or build --remote_download_minimal, if a cache key is missing (It happens to us regularly even though we don't evict files, I have not been able to figure out a reproducer)
We get the message:
"failed due to unexpected I/O exception: Failed to fetch file with hash 'eb0c1584917af56e754ba6268479fb6312dfbca19fde95042c199748d0b86ed5' because it does not exist remotely. --experimental_remote_outputs=minimal does not work if your remote cache evicts files during builds."

It would be really helpful to get more information about what that key represents (filename, target, etc?) as our workaround generally involves making a dummy change that will re-populate the cache.

Feature requests: what underlying problem are you trying to solve with this feature?

Trying to work around the fact that bazel is unable to re-populate missing cache keys.

Bugs: what's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.

Don't have one. But the issue is about improving the error message.

What operating system are you running Bazel on?

Linux

What's the output of bazel info release?

1.0.0rc2

@jin jin added team-Remote-Exec Issues and PRs for the Execution (Remote) team untriaged labels Oct 16, 2019
@buchgr
Copy link
Contributor

buchgr commented Oct 28, 2019

Is your request to display the output file name that could not be fetched? That sounds reasonable to me. An output file will allow you uniquely identify an action.

It happens to us regularly even though we don't evict files, I have not been able to figure out a reproducer

Bazel only displays this message when a download attempt returns a 404. Are you 100% certain that output's are never evicted?

@phb
Copy link
Author

phb commented Oct 29, 2019

Yes the filename would be ideal.

No eviction, but it's backed by S3, but it's eventually consistent in some scenarios so I suspect that might be what is happening.

@buchgr
Copy link
Contributor

buchgr commented Oct 29, 2019

@phb are you pointing bazel directly at s3 or do you have a service in front of it?

@phb
Copy link
Author

phb commented Oct 30, 2019

Hi @buchgr,

Just directly to S3 via https://github.com/Asana/bazels3cache. I've configured the prior to not have any filesize restrictions, no in memory cache and a few other settings that I can't access from my current computer.

@coeuvre coeuvre added the P2 We'll consider working on this in future. (Assignee optional) label Dec 9, 2020
@coeuvre coeuvre self-assigned this Dec 9, 2020
@sgowroji
Copy link
Member

Hi there! We're doing a clean up of old issues and will be closing this one. Please reopen if you’d like to discuss anything further. We’ll respond as soon as we have the bandwidth/resources to do so.

@coeuvre
Copy link
Member

coeuvre commented Feb 15, 2023

Hi Gowroji, sorry for the confusion but I would like to keep it opened and address it during my effort of improving BwoB.

@coeuvre coeuvre reopened this Feb 15, 2023
@coeuvre coeuvre added the not stale Issues or PRs that are inactive but not considered stale label Feb 15, 2023
coeuvre added a commit to coeuvre/bazel that referenced this issue Sep 8, 2023
to make it easier to debug errors related to remote cache eviction.

Fixes bazelbuild#10025.

PiperOrigin-RevId: 563361764
Change-Id: I2c29cd521c7ec1293f770b28a5cdcdf356750396
iancha1992 pushed a commit that referenced this issue Sep 12, 2023
to make it easier to debug errors related to remote cache eviction.

Fixes #10025.

PiperOrigin-RevId: 563361764
Change-Id: I2c29cd521c7ec1293f770b28a5cdcdf356750396
SalmaSamy pushed a commit that referenced this issue Sep 13, 2023
to make it easier to debug errors related to remote cache eviction.

Fixes #10025.

PiperOrigin-RevId: 563361764
Change-Id: I2c29cd521c7ec1293f770b28a5cdcdf356750396
@iancha1992
Copy link
Member

A fix for this issue has been included in Bazel 6.4.0 RC1. Please test out the release candidate and report any issues as soon as possible. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
not stale Issues or PRs that are inactive but not considered stale P2 We'll consider working on this in future. (Assignee optional) team-Remote-Exec Issues and PRs for the Execution (Remote) team type: feature request
Projects
None yet
Development

No branches or pull requests

6 participants