SuccessChanges

Summary

  1. [SPARK-28430][UI] Fix stage table rendering when some tasks' metrics are (commit: e466662d5c08e2030b727468001561ab4c21078b) (details)
Commit e466662d5c08e2030b727468001561ab4c21078b by dhyun
[SPARK-28430][UI] Fix stage table rendering when some tasks' metrics are
missing
## What changes were proposed in this pull request?
The Spark UI's stages table misrenders the input/output metrics columns
when some tasks are missing input metrics. See the screenshot below for
an example of the problem:
![image](https://user-images.githubusercontent.com/50748/61420042-a3abc100-a8b5-11e9-8a92-7986563ee712.png)
This is because those columns' are defined as
```scala
{if (hasInput(stage)) {
metricInfo(task) { m =>
   ...
  <td>....</td>
}
}
```
where `metricInfo` renders the node returned by the closure in case
metrics are defined or returns `Nil` in case metrics are not defined. If
metrics are undefined then we'll fail to render the empty `<td></td>`
tag, causing columns to become misaligned as shown in the screenshot.
To fix this, this patch changes this to
```scala
{if (hasInput(stage)) {
<td>{
   metricInfo(task) { m =>
     ...
    Unparsed(...)
   }
}</td>
}
```
which is an idiom that's already in use for the shuffle read / write
columns.
## How was this patch tested?
It isn't. I'm arguing for correctness because the modifications are
consistent with rendering methods that work correctly for other columns.
Closes #25183 from
JoshRosen/joshrosen/fix-task-table-with-partial-io-metrics.
Authored-by: Josh Rosen <rosenville@gmail.com> Signed-off-by: Dongjoon
Hyun <dhyun@apple.com>
(cherry picked from commit 3776fbdfdeac07d191f231b29cf906cabdc6de3f)
Signed-off-by: Dongjoon Hyun <dhyun@apple.com>
(commit: e466662d5c08e2030b727468001561ab4c21078b)
The file was modifiedcore/src/main/scala/org/apache/spark/ui/jobs/StagePage.scala (diff)