Skip to content

Commit d80f140

Browse files
committed
[SPARK-20591][WEB UI] Change succeeded task num of All jobs page to the same as the job detail page(by excluding speculated tasks).
## What changes were proposed in this pull request? Count the completed tasks num by taskId to excluding speculated tasks. Add a "completedIndices"(OpenHashSet) to record the the completed tasks by id, and show the completed tasks num by "job.completedIndices.size" instead of "job.numCompletedTasks". ## How was this patch tested? manual tests
1 parent 78b0f97 commit d80f140

File tree

4 files changed

+5
-2
lines changed

4 files changed

+5
-2
lines changed

core/src/main/scala/org/apache/spark/ui/jobs/AllJobsPage.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -629,7 +629,8 @@ private[ui] class JobPagedTable(
629629
{if (job.numSkippedStages > 0) s"(${job.numSkippedStages} skipped)"}
630630
</td>
631631
<td class="progress-cell">
632-
{UIUtils.makeProgressBar(started = job.numActiveTasks, completed = job.numCompletedTasks,
632+
{UIUtils.makeProgressBar(started = job.numActiveTasks,
633+
completed = job.completedStageIndices.size,
633634
failed = job.numFailedTasks, skipped = job.numSkippedTasks,
634635
reasonToNumKilled = job.reasonToNumKilled, total = job.numTasks - job.numSkippedTasks)}
635636
</td>

core/src/main/scala/org/apache/spark/ui/jobs/JobProgressListener.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -423,6 +423,7 @@ class JobProgressListener(conf: SparkConf) extends SparkListener with Logging {
423423
jobData.numActiveTasks -= 1
424424
taskEnd.reason match {
425425
case Success =>
426+
jobData.completedIndices.add(info.index)
426427
jobData.numCompletedTasks += 1
427428
case kill: TaskKilled =>
428429
jobData.reasonToNumKilled = jobData.reasonToNumKilled.updated(

core/src/main/scala/org/apache/spark/ui/jobs/StageTable.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@ private[ui] class StagePagedTable(
299299
<td>{data.formattedDuration}</td>
300300
<td class="progress-cell">
301301
{UIUtils.makeProgressBar(started = stageData.numActiveTasks,
302-
completed = stageData.numCompleteTasks, failed = stageData.numFailedTasks,
302+
completed = stageData.completedIndices.size, failed = stageData.numFailedTasks,
303303
skipped = 0, reasonToNumKilled = stageData.reasonToNumKilled, total = info.numTasks)}
304304
</td>
305305
<td>{data.inputReadWithUnit}</td>

core/src/main/scala/org/apache/spark/ui/jobs/UIData.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ private[spark] object UIData {
6262
var numTasks: Int = 0,
6363
var numActiveTasks: Int = 0,
6464
var numCompletedTasks: Int = 0,
65+
var completedIndices: OpenHashSet[Int] = new OpenHashSet[Int](),
6566
var numSkippedTasks: Int = 0,
6667
var numFailedTasks: Int = 0,
6768
var reasonToNumKilled: Map[String, Int] = Map.empty,

0 commit comments

Comments
 (0)