diff --git a/core/src/main/scala/org/apache/spark/scheduler/local/LocalSchedulerBackend.scala b/core/src/main/scala/org/apache/spark/scheduler/local/LocalSchedulerBackend.scala index 7a73e8ed8a38..ddfcbbbe447c 100644 --- a/core/src/main/scala/org/apache/spark/scheduler/local/LocalSchedulerBackend.scala +++ b/core/src/main/scala/org/apache/spark/scheduler/local/LocalSchedulerBackend.scala @@ -149,6 +149,12 @@ private[spark] class LocalSchedulerBackend( } override def statusUpdate(taskId: Long, state: TaskState, serializedData: ByteBuffer) { + if (TaskState.isFailed(state)) { + launcherBackend.setState(SparkAppHandle.State.FAILED) + } + else if (TaskState.isFinished(state)) { + launcherBackend.setState(SparkAppHandle.State.FINISHED) + } localEndpoint.send(StatusUpdate(taskId, state, serializedData)) }