diff options
author | mschaller <mschaller@google.com> | 2018-06-29 12:13:39 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-06-29 12:14:50 -0700 |
commit | 677a614d5d55c5d3df0fe23c21ff48525ef2e179 (patch) | |
tree | be0aff40c5081558a566816d47a43b20a31c522b /src | |
parent | 2d5ae23797de6b6c449b0fe092f4d67ca0b081c5 (diff) |
Fix asymmetric progress receiver state tracking
The "elapsedTimeNanos > 0" conditional is highly likely to always be
true, but if not, the progress receiver won't receive an "ending"
event for the "compute" state.
RELNOTES: None
PiperOrigin-RevId: 202687683
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/com/google/devtools/build/skyframe/AbstractParallelEvaluator.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/skyframe/AbstractParallelEvaluator.java b/src/main/java/com/google/devtools/build/skyframe/AbstractParallelEvaluator.java index 8267fa27e1..793b206b65 100644 --- a/src/main/java/com/google/devtools/build/skyframe/AbstractParallelEvaluator.java +++ b/src/main/java/com/google/devtools/build/skyframe/AbstractParallelEvaluator.java @@ -382,9 +382,10 @@ public abstract class AbstractParallelEvaluator { value = factory.compute(skyKey, env); } finally { long elapsedTimeNanos = BlazeClock.instance().nanoTime() - startTimeNanos; + evaluatorContext + .getProgressReceiver() + .stateEnding(skyKey, NodeState.COMPUTE, elapsedTimeNanos); if (elapsedTimeNanos > 0) { - evaluatorContext.getProgressReceiver().stateEnding(skyKey, NodeState.COMPUTE, - elapsedTimeNanos); Profiler.instance() .logSimpleTaskDuration( startTimeNanos, |