diff --git a/yarn/src/main/scala/org/apache/spark/deploy/yarn/Client.scala b/yarn/src/main/scala/org/apache/spark/deploy/yarn/Client.scala index 103505645783..85423aace7b3 100644 --- a/yarn/src/main/scala/org/apache/spark/deploy/yarn/Client.scala +++ b/yarn/src/main/scala/org/apache/spark/deploy/yarn/Client.scala @@ -975,6 +975,10 @@ private[spark] class Client( case e: ApplicationNotFoundException => logError(s"Application $appId not found.") return (YarnApplicationState.KILLED, FinalApplicationStatus.KILLED) + case e: Exception if (e.isInstanceOf[InterruptedException] + || e.getCause.isInstanceOf[InterruptedException]) => + logInfo("The reporter thread is interrupted, we assume app is finished.") + return (YarnApplicationState.FINISHED, FinalApplicationStatus.SUCCEEDED) case NonFatal(e) => logError(s"Failed to contact YARN for application $appId.", e) return (YarnApplicationState.FAILED, FinalApplicationStatus.FAILED)