diff --git a/core/src/main/scala/org/apache/spark/ui/jobs/StageTable.scala b/core/src/main/scala/org/apache/spark/ui/jobs/StageTable.scala index f8b308c9815482ddf242f7d5f7221661135c9efe..3dcfaf76e4aba906f9ee2703de1bc4b510ef1b02 100644 --- a/core/src/main/scala/org/apache/spark/ui/jobs/StageTable.scala +++ b/core/src/main/scala/org/apache/spark/ui/jobs/StageTable.scala @@ -119,14 +119,14 @@ private[ui] class StageTableBase( </div> } - val stageDataOption = listener.stageIdToData.get(s.stageId) - // Too many nested map/flatMaps with options are just annoying to read. Do this imperatively. - if (stageDataOption.isDefined && stageDataOption.get.description.isDefined) { - val desc = stageDataOption.get.description - <div><em>{desc}</em></div><div>{killLink} {nameLink} {details}</div> - } else { - <div>{killLink} {nameLink} {details}</div> + val stageDesc = for { + stageData <- listener.stageIdToData.get(s.stageId) + desc <- stageData.description + } yield { + <div><em>{desc}</em></div> } + + <div>{stageDesc.getOrElse("")} {killLink} {nameLink} {details}</div> } protected def stageRow(s: StageInfo): Seq[Node] = {