diff --git a/core/src/main/resources/org/apache/spark/ui/static/webui.css b/core/src/main/resources/org/apache/spark/ui/static/webui.css index 262cee7b58aff..fad28ce333675 100755 --- a/core/src/main/resources/org/apache/spark/ui/static/webui.css +++ b/core/src/main/resources/org/apache/spark/ui/static/webui.css @@ -113,7 +113,7 @@ table.sortable td { box-shadow: inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15); } -.progress.progress-started { +.progress .progress-bar.progress-started { background-color: #A0DFFF; background-image: -moz-linear-gradient(top, #A4EDFF, #94DDFF); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#A4EDFF), to(#94DDFF)); @@ -124,7 +124,7 @@ table.sortable td { filter: progid:dximagetransform.microsoft.gradient(startColorstr='#FFA4EDFF', endColorstr='#FF94DDFF', GradientType=0); } -.progress .progress-bar { +.progress .progress-bar.progress-completed { background-color: #3EC0FF; background-image: -moz-linear-gradient(top, #44CBFF, #34B0EE); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#44CBFF), to(#34B0EE)); diff --git a/core/src/main/scala/org/apache/spark/ui/UIUtils.scala b/core/src/main/scala/org/apache/spark/ui/UIUtils.scala index 5e3406037a72b..05b6fea38a9ab 100644 --- a/core/src/main/scala/org/apache/spark/ui/UIUtils.scala +++ b/core/src/main/scala/org/apache/spark/ui/UIUtils.scala @@ -460,13 +460,14 @@ private[spark] object UIUtils extends Logging { skipped: Int, reasonToNumKilled: Map[String, Int], total: Int): Seq[Node] = { - val ratio = if (total == 0) 100.0 else (completed.toDouble/total)*100 + val ratio = if (total == 0) 100.0 else (completed.toDouble / total) * 100 val completeWidth = "width: %s%%".format(ratio) // started + completed can be > total when there are speculative tasks val boundedStarted = math.min(started, total - completed) - val startWidth = "width: %s%%".format((boundedStarted.toDouble/total)*100) + val startRatio = if (total == 0) 0.0 else (boundedStarted.toDouble / total) * 100 + val startWidth = "width: %s%%".format(startRatio) -
0) s"progress progress-started" else s"progress" }> +
{completed}/{total} { if (failed == 0 && skipped == 0 && started > 0) s"($started running)" } @@ -477,7 +478,8 @@ private[spark] object UIUtils extends Logging { } } -
+
+
} diff --git a/core/src/test/scala/org/apache/spark/ui/UIUtilsSuite.scala b/core/src/test/scala/org/apache/spark/ui/UIUtilsSuite.scala index d4368c882d660..9d040bb4e1ec7 100644 --- a/core/src/test/scala/org/apache/spark/ui/UIUtilsSuite.scala +++ b/core/src/test/scala/org/apache/spark/ui/UIUtilsSuite.scala @@ -113,7 +113,8 @@ class UIUtilsSuite extends SparkFunSuite { test("SPARK-11906: Progress bar should not overflow because of speculative tasks") { val generated = makeProgressBar(2, 3, 0, 0, Map.empty, 4).head.child.filter(_.label == "div") val expected = Seq( -
+
, +
) assert(generated.sameElements(expected), s"\nRunning progress bar should round down\n\nExpected:\n$expected\nGenerated:\n$generated")