Repository: spark
Updated Branches:
  refs/heads/branch-1.2 58b3aa692 -> d0bf938ec


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


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

Branch: refs/heads/branch-1.2
Commit: d0bf938ecfa41a6383a22bbffb723dd934d5e910
Parents: 58b3aa6
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:59 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/d0bf938e/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 09a936c..0793fb1 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
@@ -501,15 +501,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