Skip to content

Commit

Permalink
fix problem of resitting other tables
Browse files Browse the repository at this point in the history
  • Loading branch information
nblintao committed Jun 21, 2016
1 parent 4de6d68 commit 246432d
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 5 deletions.
1 change: 1 addition & 0 deletions core/src/main/scala/org/apache/spark/ui/PagedTable.scala
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,7 @@ private[ui] trait PagedTable[T] {
Splitter
.on('&')
.trimResults()
.omitEmptyStrings()
.withKeyValueSeparator("=")
.split(querystring)
.asScala
Expand Down
16 changes: 11 additions & 5 deletions core/src/main/scala/org/apache/spark/ui/jobs/StageTable.scala
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import java.net.URLEncoder
import java.util.Date
import javax.servlet.http.HttpServletRequest

import scala.collection.JavaConverters._
import scala.xml._

import org.apache.commons.lang3.StringEscapeUtils
Expand All @@ -39,6 +40,11 @@ private[ui] class StageTableBase(
isFairScheduler: Boolean,
killEnabled: Boolean,
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

val parameterStagePage = request.getParameter(stageTag + ".page")
val parameterStageSortColumn = request.getParameter(stageTag + ".sort")
val parameterStageSortDesc = request.getParameter(stageTag + ".desc")
Expand Down Expand Up @@ -72,7 +78,7 @@ private[ui] class StageTableBase(
new StagePagedTable(
stages,
stageTag,
basePath,
reservedBasePath,
progressListener,
isFairScheduler,
killEnabled,
Expand Down Expand Up @@ -158,15 +164,15 @@ private[ui] class StagePagedTable(
override def pageLink(page: Int): String = {
val encodedSortColumn = URLEncoder.encode(sortColumn, "UTF-8")
basePath +
s"?$pageNumberFormField=$page" +
s"&$pageNumberFormField=$page" +
s"&$stageTag.sort=$encodedSortColumn" +
s"&$stageTag.desc=$desc" +
s"&$pageSizeFormField=$pageSize"
}

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

override def headers: Seq[Node] = {
Expand Down Expand Up @@ -209,7 +215,7 @@ private[ui] class StagePagedTable(
if (header == sortColumn) {
val headerLink = Unparsed(
basePath +
s"?$stageTag.sort=${URLEncoder.encode(header, "UTF-8")}" +
s"&$stageTag.sort=${URLEncoder.encode(header, "UTF-8")}" +
s"&$stageTag.desc=${!desc}" +
s"&$stageTag.pageSize=$pageSize")
val arrow = if (desc) "▾" else "▴" // UP or DOWN
Expand All @@ -225,7 +231,7 @@ private[ui] class StagePagedTable(
if (sortable) {
val headerLink = Unparsed(
basePath +
s"?$stageTag.sort=${URLEncoder.encode(header, "UTF-8")}" +
s"&$stageTag.sort=${URLEncoder.encode(header, "UTF-8")}" +
s"&$stageTag.pageSize=$pageSize")

<th>
Expand Down

0 comments on commit 246432d

Please sign in to comment.