Skip to content

Commit 6c60768

Browse files
mateizrxin
authored andcommitted
Merge pull request alteryx#160 from xiajunluan/JIRA-923
Fix bug JIRA-923 Fix column sort issue in UI for JIRA-923. https://spark-project.atlassian.net/browse/SPARK-923 Signed-off-by: Reynold Xin <[email protected]> Conflicts: core/src/main/scala/org/apache/spark/ui/jobs/StagePage.scala core/src/main/scala/org/apache/spark/ui/jobs/StageTable.scala (cherry picked from commit b8bf04a) Signed-off-by: Reynold Xin <[email protected]>
1 parent f0d350a commit 6c60768

File tree

2 files changed

+32
-10
lines changed

2 files changed

+32
-10
lines changed

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

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,22 @@ private[spark] class StagePage(parent: JobProgressUI) {
152152
else metrics.map(m => parent.formatDuration(m.executorRunTime)).getOrElse("")
153153
val gcTime = metrics.map(m => m.jvmGCTime).getOrElse(0L)
154154

155+
var shuffleReadSortable: String = ""
156+
var shuffleReadReadable: String = ""
157+
if (shuffleRead) {
158+
shuffleReadSortable = metrics.flatMap{m => m.shuffleReadMetrics}.map{s => s.remoteBytesRead}.toString()
159+
shuffleReadReadable = metrics.flatMap{m => m.shuffleReadMetrics}.map{s =>
160+
Utils.bytesToString(s.remoteBytesRead)}.getOrElse("")
161+
}
162+
163+
var shuffleWriteSortable: String = ""
164+
var shuffleWriteReadable: String = ""
165+
if (shuffleWrite) {
166+
shuffleWriteSortable = metrics.flatMap{m => m.shuffleWriteMetrics}.map{s => s.shuffleBytesWritten}.toString()
167+
shuffleWriteReadable = metrics.flatMap{m => m.shuffleWriteMetrics}.map{s =>
168+
Utils.bytesToString(s.shuffleBytesWritten)}.getOrElse("")
169+
}
170+
155171
<tr>
156172
<td>{info.index}</td>
157173
<td>{info.taskId}</td>
@@ -166,14 +182,17 @@ private[spark] class StagePage(parent: JobProgressUI) {
166182
{if (gcTime > 0) parent.formatDuration(gcTime) else ""}
167183
</td>
168184
{if (shuffleRead) {
169-
<td>{metrics.flatMap{m => m.shuffleReadMetrics}.map{s =>
170-
Utils.bytesToString(s.remoteBytesRead)}.getOrElse("")}</td>
185+
<td sorttable_customkey={shuffleReadSortable}>
186+
{shuffleReadReadable}
187+
</td>
171188
}}
172189
{if (shuffleWrite) {
173-
<td>{metrics.flatMap{m => m.shuffleWriteMetrics}.map{s =>
174-
parent.formatDuration(s.shuffleWriteTime / (1000 * 1000))}.getOrElse("")}</td>
175-
<td>{metrics.flatMap{m => m.shuffleWriteMetrics}.map{s =>
176-
Utils.bytesToString(s.shuffleBytesWritten)}.getOrElse("")}</td>
190+
<td>{metrics.flatMap{m => m.shuffleWriteMetrics}.map{s =>
191+
parent.formatDuration(s.shuffleWriteTime / (1000 * 1000))}.getOrElse("")}
192+
</td>
193+
<td sorttable_customkey={shuffleWriteSortable}>
194+
{shuffleWriteReadable}
195+
</td>
177196
}}
178197
<td>{exception.map(e =>
179198
<span>

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

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,14 @@ private[spark] class StageTable(val stages: Seq[StageInfo], val parent: JobProgr
7979
case None => "Unknown"
8080
}
8181

82-
val shuffleRead = listener.stageIdToShuffleRead.getOrElse(s.stageId, 0L) match {
82+
val shuffleReadSortable = listener.stageIdToShuffleRead.getOrElse(s.stageId, 0L)
83+
val shuffleRead = shuffleReadSortable match {
8384
case 0 => ""
8485
case b => Utils.bytesToString(b)
8586
}
86-
val shuffleWrite = listener.stageIdToShuffleWrite.getOrElse(s.stageId, 0L) match {
87+
88+
val shuffleWriteSortable = listener.stageIdToShuffleWrite.getOrElse(s.stageId, 0L)
89+
val shuffleWrite = shuffleWriteSortable match {
8790
case 0 => ""
8891
case b => Utils.bytesToString(b)
8992
}
@@ -119,8 +122,8 @@ private[spark] class StageTable(val stages: Seq[StageInfo], val parent: JobProgr
119122
<td class="progress-cell">
120123
{makeProgressBar(startedTasks, completedTasks, failedTasks, totalTasks)}
121124
</td>
122-
<td>{shuffleRead}</td>
123-
<td>{shuffleWrite}</td>
125+
<td sorttable_customekey={shuffleReadSortable.toString}>{shuffleRead}</td>
126+
<td sorttable_customekey={shuffleWriteSortable.toString}>{shuffleWrite}</td>
124127
</tr>
125128
}
126129
}

0 commit comments

Comments
 (0)