From afce7a0986ae04610eb2a9cfb9d8c50fe8de69c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BB=93=E4=B8=9A=E4=BA=AE=2010202330?= Date: Mon, 29 Oct 2018 19:59:49 +0800 Subject: [PATCH] Spark on YARN: the original diagnostics is missing when job failed maxAppAttempts times --- .../scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala | 3 +++ 1 file changed, 3 insertions(+) diff --git a/resource-managers/yarn/src/main/scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala b/resource-managers/yarn/src/main/scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala index 8f94e3f731007..57f0a7f05b2e5 100644 --- a/resource-managers/yarn/src/main/scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala +++ b/resource-managers/yarn/src/main/scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala @@ -293,6 +293,9 @@ private[spark] class ApplicationMaster(args: ApplicationMasterArguments) extends } if (!unregistered) { + logInfo("Waiting for " + sparkConf.get("spark.yarn.report.interval", "1000").toInt +"ms to unregister am," + + " so the client can have the right diagnostics msg!") + Thread.sleep(sparkConf.get("spark.yarn.report.interval", "1000").toInt) // we only want to unregister if we don't want the RM to retry if (finalStatus == FinalApplicationStatus.SUCCEEDED || isLastAttempt) { unregister(finalStatus, finalMsg)