Skip to content

Commit 4255c09

Browse files
committed
paginate stage table in stages tab
1 parent 0ee9fd9 commit 4255c09

File tree

4 files changed

+409
-139
lines changed

4 files changed

+409
-139
lines changed

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

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -38,22 +38,19 @@ private[ui] class AllStagesPage(parent: StagesTab) extends WebUIPage("") {
3838
val numCompletedStages = listener.numCompletedStages
3939
val failedStages = listener.failedStages.reverse.toSeq
4040
val numFailedStages = listener.numFailedStages
41-
val now = System.currentTimeMillis
4241

4342
val activeStagesTable =
44-
new StageTableBase(activeStages.sortBy(_.submissionTime).reverse,
45-
parent.basePath, parent.progressListener, isFairScheduler = parent.isFairScheduler,
46-
killEnabled = parent.killEnabled)
43+
new StageTableBase(request, activeStages, "activeStage", parent.basePath,
44+
parent.progressListener, parent.isFairScheduler, parent.killEnabled, false)
4745
val pendingStagesTable =
48-
new StageTableBase(pendingStages.sortBy(_.submissionTime).reverse,
49-
parent.basePath, parent.progressListener, isFairScheduler = parent.isFairScheduler,
50-
killEnabled = false)
46+
new StageTableBase(request, pendingStages, "pendingStage", parent.basePath,
47+
parent.progressListener, parent.isFairScheduler, false, false)
5148
val completedStagesTable =
52-
new StageTableBase(completedStages.sortBy(_.submissionTime).reverse, parent.basePath,
53-
parent.progressListener, isFairScheduler = parent.isFairScheduler, killEnabled = false)
49+
new StageTableBase(request, completedStages, "completedStage", parent.basePath,
50+
parent.progressListener, parent.isFairScheduler, false, false)
5451
val failedStagesTable =
55-
new FailedStageTable(failedStages.sortBy(_.submissionTime).reverse, parent.basePath,
56-
parent.progressListener, isFairScheduler = parent.isFairScheduler)
52+
new StageTableBase(request, failedStages, "failedStage", parent.basePath,
53+
parent.progressListener, parent.isFairScheduler, false, true)
5754

5855
// For now, pool information is only accessible in live UIs
5956
val pools = sc.map(_.getAllPools).getOrElse(Seq.empty[Schedulable])
@@ -135,4 +132,4 @@ private[ui] class AllStagesPage(parent: StagesTab) extends WebUIPage("") {
135132
UIUtils.headerSparkPage("Stages for All Jobs", content, parent)
136133
}
137134
}
138-
}
135+
}

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

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -230,19 +230,17 @@ private[ui] class JobPage(parent: JobsTab) extends WebUIPage("job") {
230230
}
231231

232232
val activeStagesTable =
233-
new StageTableBase(activeStages.sortBy(_.submissionTime).reverse,
234-
parent.basePath, parent.jobProgresslistener, isFairScheduler = parent.isFairScheduler,
235-
killEnabled = parent.killEnabled)
233+
new StageTableBase(request, activeStages, "activeStage", parent.basePath,
234+
parent.jobProgresslistener, parent.isFairScheduler, parent.killEnabled, false)
236235
val pendingOrSkippedStagesTable =
237-
new StageTableBase(pendingOrSkippedStages.sortBy(_.stageId).reverse,
238-
parent.basePath, parent.jobProgresslistener, isFairScheduler = parent.isFairScheduler,
239-
killEnabled = false)
236+
new StageTableBase(request, pendingOrSkippedStages, "pendingStage", parent.basePath,
237+
parent.jobProgresslistener, parent.isFairScheduler, false, false)
240238
val completedStagesTable =
241-
new StageTableBase(completedStages.sortBy(_.submissionTime).reverse, parent.basePath,
242-
parent.jobProgresslistener, isFairScheduler = parent.isFairScheduler, killEnabled = false)
239+
new StageTableBase(request, completedStages, "completedStage", parent.basePath,
240+
parent.jobProgresslistener, parent.isFairScheduler, false, false)
243241
val failedStagesTable =
244-
new FailedStageTable(failedStages.sortBy(_.submissionTime).reverse, parent.basePath,
245-
parent.jobProgresslistener, isFairScheduler = parent.isFairScheduler)
242+
new StageTableBase(request, failedStages, "failedStage", parent.basePath,
243+
parent.jobProgresslistener, parent.isFairScheduler, false, true)
246244

247245
val shouldShowActiveStages = activeStages.nonEmpty
248246
val shouldShowPendingStages = !isComplete && pendingOrSkippedStages.nonEmpty

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ private[ui] class PoolPage(parent: StagesTab) extends WebUIPage("pool") {
4242
case Some(s) => s.values.toSeq
4343
case None => Seq[StageInfo]()
4444
}
45-
val activeStagesTable = new StageTableBase(activeStages.sortBy(_.submissionTime).reverse,
46-
parent.basePath, parent.progressListener, isFairScheduler = parent.isFairScheduler,
47-
killEnabled = parent.killEnabled)
45+
val activeStagesTable =
46+
new StageTableBase(request, activeStages, "activeStage", parent.basePath,
47+
parent.progressListener, parent.isFairScheduler, parent.killEnabled, false)
4848

4949
// For now, pool information is only accessible in live UIs
5050
val pools = sc.map(_.getPoolForName(poolName).getOrElse {

0 commit comments

Comments
 (0)