-
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
Builds without the Bytes fails on missing AC result #10880
Comments
We just ran into this as well (for the first time after a while using Bw/oB, so it was a bit confusing). Edit: For clarification, the way we ran into it was switching from using a disk cache to a remote cache, without running |
This has now caused us to stop using Bw/oB 😞 |
This still happens. One fix is running |
Thanks for assigning to this @coeuvre! Are there any news? |
No. I am currently working on other remote execution related things but fixing this issue with action rewinding is on my plan. |
Thanks for the update! |
any update here? |
I would be very happy if this can be solved, since it is blocking my organization from using bwtb. @coeuvre, any news from your side? @illicitonion, I notice you are working on https://github.com/illicitonion/bazel/commits/rewinding-bulk-upload-exceptions-5.0. What is the current state? Are you planning sending a pull request? |
I have a PR open at #14126 that's been pending review for a few months - I will rebase it soon. |
This is still a huge issue for using BwtB. Even if a remote cache correctly only returns AC results that have all CAS items in the cache, this can make using a remote cache with BwtB unusable. |
I didn't get this. Can you share more details? I still think the ultimate solution for this is action rewinding and it is still working in progress #14126 (comment). However, if we look closer to the issue, there are two scenarios:
In practice, I think 1 is rare (correct me if I am wrong) imaging how long on average an invocation would be. Remote cache should be able to not evict recently touched files for that long. If that happens, only action rewinding can save us. For 2, I think there is a workaround. In the later invocations, when checking the skyframe/action/remote cache, Bazel could check whether the referenced files are actually available (via |
It's number 2 we run into. And I 1000% agree Bazel should call |
I will work on the fix for 2 in a few days. |
Awesome! Btw, I believe the 6.0 cut is in 4 days. |
@coeuvre Gentle ping to see where you are with this 🙏 |
Still exporting some internal code to BwoB and will look into this after that (probably next week). |
@coeuvre Friendly ping on this 😊 |
This is a duplicate of #8250. |
@tjgq Per this:
I don't agree that it's a duplicate. It's useful to keep this open, since I've been linking to it in various discussions, and it's only really fixed by the lease service. |
Yeah, I meant to say that it will be fixed by the lease service, which doesn't really have a canonical issue (#8250 is the closest I could find). |
[Not to be confused with available AC result referencing missing blobs in CAS]
The original proposal is clear about this limitation and calls it "initially acceptable":
However most discussions (e.g. in #8250) focus only on using a remote cache that is not returning AC result if blobs are missing in CAS. But that is NOT enough to adress the following scenario:
Results in the following error:
Example of scenarios where AC results could go missing:
I'm not happy with workarounds involving manual 'bazel clean', since I want users to trust the build system and not fall back to old habits of 'make clean'.
There have been debates about support for rewinding actions to resolve this. Are there any decision @buchgr and @ulfjack?
The text was updated successfully, but these errors were encountered: