-
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
Cache hit for remote execution shows Scheduling state while downloading #13531
Labels
P1
I'll work on this now. (Assignee required)
team-Remote-Exec
Issues and PRs for the Execution (Remote) team
type: bug
Comments
coeuvre
added
team-Remote-Exec
Issues and PRs for the Execution (Remote) team
type: bug
P1
I'll work on this now. (Assignee required)
labels
Jun 4, 2021
coeuvre
added a commit
to coeuvre/bazel
that referenced
this issue
Jun 4, 2021
…o run remotely. Add a Caching state to ActionState. This state indicates the action is checking the cache and should be happened before Scheduling state. Change ProgressStatus from enum to interface so that we can pass more data to the event handler (which is required to report upload/download details later). Fixes bazelbuild#13531.
Thanks @coeuvre! |
coeuvre
added a commit
to coeuvre/bazel
that referenced
this issue
Jul 15, 2021
…o run remotely. Add a Caching state to ActionState. This state indicates the action is checking the cache and should be happened before Scheduling state. Change ProgressStatus from enum to interface so that we can pass more data to the event handler (which is required to report upload/download details later). Fixes bazelbuild#13531. Closes bazelbuild#13555. PiperOrigin-RevId: 378800212
coeuvre
added a commit
to coeuvre/bazel
that referenced
this issue
Jul 15, 2021
…o run remotely. Add a Caching state to ActionState. This state indicates the action is checking the cache and should be happened before Scheduling state. Change ProgressStatus from enum to interface so that we can pass more data to the event handler (which is required to report upload/download details later). Fixes bazelbuild#13531. Closes bazelbuild#13555. PiperOrigin-RevId: 378800212
coeuvre
added a commit
to coeuvre/bazel
that referenced
this issue
Jul 15, 2021
…o run remotely. Add a Caching state to ActionState. This state indicates the action is checking the cache and should be happened before Scheduling state. Change ProgressStatus from enum to interface so that we can pass more data to the event handler (which is required to report upload/download details later). Fixes bazelbuild#13531. Closes bazelbuild#13555. PiperOrigin-RevId: 378800212
coeuvre
added a commit
to coeuvre/bazel
that referenced
this issue
Jul 15, 2021
…o run remotely. Add a Caching state to ActionState. This state indicates the action is checking the cache and should be happened before Scheduling state. Change ProgressStatus from enum to interface so that we can pass more data to the event handler (which is required to report upload/download details later). Fixes bazelbuild#13531. Closes bazelbuild#13555. PiperOrigin-RevId: 378800212
coeuvre
added a commit
to coeuvre/bazel
that referenced
this issue
Jul 16, 2021
…o run remotely. Add a Caching state to ActionState. This state indicates the action is checking the cache and should be happened before Scheduling state. Change ProgressStatus from enum to interface so that we can pass more data to the event handler (which is required to report upload/download details later). Fixes bazelbuild#13531. Closes bazelbuild#13555. PiperOrigin-RevId: 378800212
larsrc-google
pushed a commit
to larsrc-google/bazel
that referenced
this issue
Jul 28, 2021
…o run remotely. Add a Caching state to ActionState. This state indicates the action is checking the cache and should be happened before Scheduling state. Change ProgressStatus from enum to interface so that we can pass more data to the event handler (which is required to report upload/download details later). Fixes bazelbuild#13531. Closes bazelbuild#13555. PiperOrigin-RevId: 378800212
larsrc-google
pushed a commit
to larsrc-google/bazel
that referenced
this issue
Jul 30, 2021
…o run remotely. Add a Caching state to ActionState. This state indicates the action is checking the cache and should be happened before Scheduling state. Change ProgressStatus from enum to interface so that we can pass more data to the event handler (which is required to report upload/download details later). Fixes bazelbuild#13531. Closes bazelbuild#13555. PiperOrigin-RevId: 378800212
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
P1
I'll work on this now. (Assignee required)
team-Remote-Exec
Issues and PRs for the Execution (Remote) team
type: bug
Description of the problem / feature request:
When an action is a cache hit, instead of showing some sort of running state in the UI, it shows as
[Sched]
the entire time. This is confusing, as it seems the action is stalled out waiting for an executor, when in reality it's making progress.Bugs: what's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.
While using remote execution, build, from clean, a fully cached action graph. All of the actions will look like this:
When not using
remote
, it looks like this:What operating system are you running Bazel on?
macOS 12.3.1
What's the output of
bazel info release
?4.0.0
Have you found anything relevant by searching the web?
Here the scheduling state is set:
bazel/src/main/java/com/google/devtools/build/lib/remote/RemoteSpawnRunner.java
Line 251 in 6b33bdb
It's not changed when downloading starts. In the remote-cache-but-no-executor case an event is posted when downloading starts (technically before cache checking even happens):
bazel/src/main/java/com/google/devtools/build/lib/remote/RemoteSpawnCache.java
Line 161 in 6b33bdb
It seems like we should do the same
CACHE_CHECKING
as the non-remote
flow, but it might not be that simple because of how the UiStateTracker only allows state to advance forward:bazel/src/main/java/com/google/devtools/build/lib/runtime/UiStateTracker.java
Lines 252 to 253 in 09c621e
If the UI state tracker allowed state to reset, I think it would be ideal to have something like this:
ProgressStatus.CACHE_CHECKING
ProgressStatus.DOWNLOADING
ProgressStatus.SCHEDULING
ProgressStatus.EXECUTING
The text was updated successfully, but these errors were encountered: