JoshRosen opened a new pull request #25183: [SPARK-28430][UI] Fix stage table 
rendering when some tasks' metrics are missing
URL: https://github.com/apache/spark/pull/25183
 
 
   ## 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.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to