-
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 5.x.x crashes if uncompressed CAS is uploaded to remote cache #14522
Comments
This likely won't count as a release blocker since it's guarded behind an experimental flag and is not a regression. |
@AlessandroPatti no, it was just a straight build w/out bwotb. I'm familiar with bazel being unable to recover if a promised artifact is missing, however, i believe that may be fixed with recently merged rewind feature. Even then, I have never seen bazel crash with fatal and print a stack trace (usually it errors that something is missing and bazel can't handle that case), so do you mind linking to a task where using bwotb would cause a fatal and a stack trace from bazel? Assuming that what I'm describing is an issue related to compression, I think problem here is that zstd throws an IO exception and bazel doesn't recover if a stream isn't actually zstd (throws that exception immediately). I am not familiar with zstd library, but from UX for bazel I think warning a user that an artifact isn't compressed and then maybe trying to download it as uncompressed or just catching IO exception and moving on w/out using remote_cache would be a slight improvement. Maybe latter would be better? @Wyverald I agree, this isn't release blocking since this feature is hidden behind an experimental flag. |
@shirchen I tried reproducing the issue but I couldn't. I modified
This does not seem the only place where Do you have a small example I could use to reproduce the issue you are experiencing? |
This issue has been marked as stale because it has not had any recent activity. It will be closed in 7 days, if no further activity occurs. Thank you. |
I guess then maybe this bug can be reframed as better UX for client instead of a crash? |
As asked in the above comment. Can you provide an example to reproduce the issue. Thanks |
@AlessandroPatti my bad, issue is when you try and upload, not download. once i added read support, and set |
Description of the problem / feature request:
When experimenting with compression (#14041), I ran into crashes if the server isn't on the same page as the client. I think these are edge cases as in this case, remote cache server hasn't fully implemented compression support, but it's possible bazel may want to guard against these and not crash fatally since we are just using remote cache.
Feature requests: what underlying problem are you trying to solve with this feature?
Running with compression flag:
bazel build //... --experimental_remote_cache_compression --remote_upload_local_results=true
Bugs: what's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.
If server claims to support zstd but doesn't, client (bazel) works fine. However, issue can be reproduced if we try and upload something that is compressed.
What operating system are you running Bazel on?
Mac OS.
If
bazel info release
returns "development version" or "(@non-git)", tell us how you built Bazel.origin/release-5.0.0rc3
, 5.1.0Any other information, logs, or outputs that you want to share?
This stack is if server throws an error (expected), which I think should be warning and let bazel build locally instead of crashing.
and here is if server incorrectly passes back uncompressed CAS
The text was updated successfully, but these errors were encountered: