Repository: spark
Updated Branches:
  refs/heads/branch-1.3 5b426cb1f -> b83a93e08


SPARK-4579 [WEBUI] Scheduling Delay appears negative

Ensure scheduler delay handles unfinished task case, and ensure delay is never 
negative even due to rounding

Author: Sean Owen <[email protected]>

Closes #4796 from srowen/SPARK-4579 and squashes the following commits:

ad6713c [Sean Owen] Ensure scheduler delay handles unfinished task case, and 
ensure delay is never negative even due to rounding

(cherry picked from commit fbc469473dd529eb72046186b85dd8fc2b7c5bb5)
Signed-off-by: Andrew Or <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/b83a93e0
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/b83a93e0
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/b83a93e0

Branch: refs/heads/branch-1.3
Commit: b83a93e08e0fecc40fee2e47e78f88a2792555de
Parents: 5b426cb
Author: Sean Owen <[email protected]>
Authored: Thu Feb 26 17:35:09 2015 -0800
Committer: Andrew Or <[email protected]>
Committed: Thu Feb 26 17:35:30 2015 -0800

----------------------------------------------------------------------
 .../scala/org/apache/spark/ui/jobs/StagePage.scala     | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/spark/blob/b83a93e0/core/src/main/scala/org/apache/spark/ui/jobs/StagePage.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/org/apache/spark/ui/jobs/StagePage.scala 
b/core/src/main/scala/org/apache/spark/ui/jobs/StagePage.scala
index d752434..110f878 100644
--- a/core/src/main/scala/org/apache/spark/ui/jobs/StagePage.scala
+++ b/core/src/main/scala/org/apache/spark/ui/jobs/StagePage.scala
@@ -626,15 +626,16 @@ private[ui] class StagePage(parent: StagesTab) extends 
WebUIPage("stage") {
   }
 
   private def getSchedulerDelay(info: TaskInfo, metrics: TaskMetrics): Long = {
-    val totalExecutionTime = {
-      if (info.gettingResultTime > 0) {
-        (info.gettingResultTime - info.launchTime)
+    val totalExecutionTime =
+      if (info.gettingResult) {
+        info.gettingResultTime - info.launchTime
+      } else if (info.finished) {
+        info.finishTime - info.launchTime
       } else {
-        (info.finishTime - info.launchTime)
+        0
       }
-    }
     val executorOverhead = (metrics.executorDeserializeTime +
       metrics.resultSerializationTime)
-    totalExecutionTime - metrics.executorRunTime - executorOverhead
+    math.max(0, totalExecutionTime - metrics.executorRunTime - 
executorOverhead)
   }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to