-
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
Upload failure using --experimental_remote_cache_async
and flaky test retries
#14008
Comments
cc: @coeuvre |
This constantly confuses our users, as it dumps a massive stack trace right after the warning. |
Sorry for the error. I am looking into this and try to make the fix into 5.0. It would help if you can also provide a minimal repro. |
--experimental_cache_async
and flaky test retries--experimental_remote_cache_async
and flaky test retries
Sure: https://github.com/brentleyjones/bazel-async-upload-failed-tests-bug. Run
|
Thanks for the repro. It helps a lot! |
…er flaky tests. When `--experimental_remote_cache_async` is set, the uploads happened in the background -- usually after spawn execution. When the test is failed and there is another test attempt, the outputs of previous test attempt are moved to other places immediately after spawn execution. This fine when combining `--experimental_remote_cache_async` because outputs of failed action don't get uploaded. However, there is an exception that `test.xml` is generated with another spawn before the "move" happens. The result of the spawn used to generate `test.xml` is usually "succeed" which means Bazel will attempt upload `test.xml` even if the test itself is failed. This PR makes the `test.xml` generation spawn ignores remote cache if the test itself is failed. Fixes bazelbuild#14008. Closes bazelbuild#14220. PiperOrigin-RevId: 408237437
…er flaky tests. When `--experimental_remote_cache_async` is set, the uploads happened in the background -- usually after spawn execution. When the test is failed and there is another test attempt, the outputs of previous test attempt are moved to other places immediately after spawn execution. This fine when combining `--experimental_remote_cache_async` because outputs of failed action don't get uploaded. However, there is an exception that `test.xml` is generated with another spawn before the "move" happens. The result of the spawn used to generate `test.xml` is usually "succeed" which means Bazel will attempt upload `test.xml` even if the test itself is failed. This PR makes the `test.xml` generation spawn ignores remote cache if the test itself is failed. Fixes bazelbuild#14008. Closes bazelbuild#14220. PiperOrigin-RevId: 408237437
…er flaky tests. (#14241) When `--experimental_remote_cache_async` is set, the uploads happened in the background -- usually after spawn execution. When the test is failed and there is another test attempt, the outputs of previous test attempt are moved to other places immediately after spawn execution. This fine when combining `--experimental_remote_cache_async` because outputs of failed action don't get uploaded. However, there is an exception that `test.xml` is generated with another spawn before the "move" happens. The result of the spawn used to generate `test.xml` is usually "succeed" which means Bazel will attempt upload `test.xml` even if the test itself is failed. This PR makes the `test.xml` generation spawn ignores remote cache if the test itself is failed. Fixes #14008. Closes #14220. PiperOrigin-RevId: 408237437
Description of the problem / feature request:
When using the new
--experimental_remote_cache_async
flag, we get upload failures that don't happen without the flag. It seems to be related to how the test log for flaky tests are generated.Bugs: what's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.
What operating system are you running Bazel on?
macOS 11.6
What's the output of
bazel info release
?release 5.0.0-pre.20210907.1
The text was updated successfully, but these errors were encountered: