Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
"X actions, Y running" is misleading with the dynamic spawn scheduler #7345
[ At this point I'm not fully convinced my theory is correct so blaming the dynamic spawn scheduler might be wrong. ]
When using the dynamic spawn scheduler and e.g.
I believe action scheduling is working fine and that this is a problem with UI reporting.
And hence the problem appears. In dynamic scheduling, we have two strategies running at once for each action. Each strategy reports its own view of scheduling/running states for the action... and therefore the statuses will run into each other. For example: the remote strategy may have reported that 100 actions are already running, but soon after the sandboxed strategy comes in and reports that those same 100 actions are waiting for local resources (thus scheduling)... and voila, 0 actions can be reported as running from the UI. See e.g. https://source.bazel.build/bazel/+/master:src/main/java/com/google/devtools/build/lib/sandbox/AbstractSandboxSpawnRunner.java;l=71 .
If this theory is correct, we should start by fixing the UI to understand that an action cannot regress from running to a past state. But this seems like a hack given that we are handling a case that "should never happen", right? Instead, and given we are moving towards a world were multiple strategies can be active at once, it'd be great if the UI could break down progress reporting by strategy.