Skip to content

Commit

Permalink
fix the links to one-stage pages
Browse files Browse the repository at this point in the history
  • Loading branch information
nblintao committed Jun 22, 2016
1 parent 246432d commit 7ccda86
Showing 1 changed file with 12 additions and 9 deletions.
21 changes: 12 additions & 9 deletions core/src/main/scala/org/apache/spark/ui/jobs/StageTable.scala
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,7 @@ private[ui] class StageTableBase(
isFailedStage: Boolean) {
val allParameters = request.getParameterMap().asScala.toMap
val parameterOtherTable = allParameters.filterNot(_._1.startsWith(stageTag))
.map(para => para._1 + "=" + para._2(0)).mkString("&")
val reservedBasePath = basePath + "?" + parameterOtherTable
.map(para => para._1 + "=" + para._2(0))

val parameterStagePage = request.getParameter(stageTag + ".page")
val parameterStageSortColumn = request.getParameter(stageTag + ".sort")
Expand Down Expand Up @@ -78,15 +77,16 @@ private[ui] class StageTableBase(
new StagePagedTable(
stages,
stageTag,
reservedBasePath,
basePath,
progressListener,
isFairScheduler,
killEnabled,
currentTime,
stagePageSize,
stageSortColumn,
stageSortDesc,
isFailedStage
isFailedStage,
parameterOtherTable
).table(page)
} catch {
case e @ (_ : IllegalArgumentException | _ : IndexOutOfBoundsException) =>
Expand Down Expand Up @@ -138,7 +138,8 @@ private[ui] class StagePagedTable(
pageSize: Int,
sortColumn: String,
desc: Boolean,
isFailedStage: Boolean) extends PagedTable[StageTableRowData] {
isFailedStage: Boolean,
parameterOtherTable: Iterable[String]) extends PagedTable[StageTableRowData] {

override def tableId: String = stageTag + "-table"

Expand All @@ -151,6 +152,8 @@ private[ui] class StagePagedTable(

override def pageNumberFormField: String = stageTag + ".page"

val parameterPath = basePath + "?" + parameterOtherTable.mkString("&")

override val dataSource = new StageDataSource(
stages,
listener,
Expand All @@ -163,7 +166,7 @@ private[ui] class StagePagedTable(

override def pageLink(page: Int): String = {
val encodedSortColumn = URLEncoder.encode(sortColumn, "UTF-8")
basePath +
parameterPath +
s"&$pageNumberFormField=$page" +
s"&$stageTag.sort=$encodedSortColumn" +
s"&$stageTag.desc=$desc" +
Expand All @@ -172,7 +175,7 @@ private[ui] class StagePagedTable(

override def goButtonFormPath: String = {
val encodedSortColumn = URLEncoder.encode(sortColumn, "UTF-8")
s"$basePath&$stageTag.sort=$encodedSortColumn&$stageTag.desc=$desc"
s"$parameterPath&$stageTag.sort=$encodedSortColumn&$stageTag.desc=$desc"
}

override def headers: Seq[Node] = {
Expand Down Expand Up @@ -214,7 +217,7 @@ private[ui] class StagePagedTable(

if (header == sortColumn) {
val headerLink = Unparsed(
basePath +
parameterPath +
s"&$stageTag.sort=${URLEncoder.encode(header, "UTF-8")}" +
s"&$stageTag.desc=${!desc}" +
s"&$stageTag.pageSize=$pageSize")
Expand All @@ -230,7 +233,7 @@ private[ui] class StagePagedTable(
} else {
if (sortable) {
val headerLink = Unparsed(
basePath +
parameterPath +
s"&$stageTag.sort=${URLEncoder.encode(header, "UTF-8")}" +
s"&$stageTag.pageSize=$pageSize")

Expand Down

0 comments on commit 7ccda86

Please sign in to comment.