[SPARK-16376][WEBUI][SPARK WEB UI][APP-ID] HTTP ERROR 500 when using rest api "/applications//jobs" if array "stageIds" is empty

## What changes were proposed in this pull request?

Avoid error finding max of empty Seq when stageIds is empty. It does fix the immediate problem; I don't know if it results in meaningful output, but not an error at least.

## How was this patch tested?

Jenkins tests

Author: Sean Owen <sowen@cloudera.com>

Closes #14105 from srowen/SPARK-16376.
This commit is contained in:
Sean Owen 2016-07-08 20:17:50 -07:00 committed by Reynold Xin
parent fd6e8f0e22
commit 6cef0183c0

View file

@ -68,7 +68,12 @@ private[v1] object AllJobsResource {
listener: JobProgressListener, listener: JobProgressListener,
includeStageDetails: Boolean): JobData = { includeStageDetails: Boolean): JobData = {
listener.synchronized { listener.synchronized {
val lastStageInfo = listener.stageIdToInfo.get(job.stageIds.max) val lastStageInfo =
if (job.stageIds.isEmpty) {
None
} else {
listener.stageIdToInfo.get(job.stageIds.max)
}
val lastStageData = lastStageInfo.flatMap { s => val lastStageData = lastStageInfo.flatMap { s =>
listener.stageIdToData.get((s.stageId, s.attemptId)) listener.stageIdToData.get((s.stageId, s.attemptId))
} }