This is an automated email from the ASF dual-hosted git repository. xxyu pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/kylin.git
The following commit(s) were added to refs/heads/main by this push: new 6face85dd8 KYLIN-5245 fix incorrect job status is displayed when deployMode is cluster execution error (#1959) 6face85dd8 is described below commit 6face85dd87385aa19f355cb23ac7a3448254378 Author: Liu Zhao <49258176+liuzhao...@users.noreply.github.com> AuthorDate: Fri Oct 14 18:23:18 2022 +0800 KYLIN-5245 fix incorrect job status is displayed when deployMode is cluster execution error (#1959) Co-authored-by: zhaoliu4 <zhaol...@iflytek.com> Co-authored-by: XiaoxiangYu <x...@apache.org> --- .../org/apache/kylin/engine/spark/application/SparkEntry.java | 11 ++++++++++- .../scala/org/apache/spark/application/JobWorkSpace.scala | 5 +++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/kylin-spark-project/kylin-spark-engine/src/main/java/org/apache/kylin/engine/spark/application/SparkEntry.java b/kylin-spark-project/kylin-spark-engine/src/main/java/org/apache/kylin/engine/spark/application/SparkEntry.java index 31974f65bc..526b7bc0b9 100644 --- a/kylin-spark-project/kylin-spark-engine/src/main/java/org/apache/kylin/engine/spark/application/SparkEntry.java +++ b/kylin-spark-project/kylin-spark-engine/src/main/java/org/apache/kylin/engine/spark/application/SparkEntry.java @@ -22,6 +22,15 @@ import org.apache.spark.application.JobWorkSpace; public class SparkEntry { public static void main(String[] args) { - JobWorkSpace.execute(args); + int retCode = JobWorkSpace.execute(args); + if (retCode == 2) { + System.exit(1); + } else if (System.getProperty("spark.master").equals("yarn") && System.getProperty("spark.submit.deployMode").equals("cluster")) { + if (retCode == 1) { + throw new RuntimeException("Job failed!"); + } + } else { + System.exit(retCode); + } } } diff --git a/kylin-spark-project/kylin-spark-engine/src/main/scala/org/apache/spark/application/JobWorkSpace.scala b/kylin-spark-project/kylin-spark-engine/src/main/scala/org/apache/spark/application/JobWorkSpace.scala index 7d1a324647..8c2c30a53e 100644 --- a/kylin-spark-project/kylin-spark-engine/src/main/scala/org/apache/spark/application/JobWorkSpace.scala +++ b/kylin-spark-project/kylin-spark-engine/src/main/scala/org/apache/spark/application/JobWorkSpace.scala @@ -28,13 +28,14 @@ import org.apache.spark.internal.Logging import org.apache.spark.scheduler.KylinJobEventLoop object JobWorkSpace extends Logging { - def execute(args: Array[String]): Unit = { + def execute(args: Array[String]): Int = { try { val (application, appArgs) = resolveArgs(args) val eventLoop = new KylinJobEventLoop val worker = new JobWorker(application, appArgs, eventLoop) val monitor = new JobMonitor(eventLoop) val workspace = new JobWorkSpace(eventLoop, monitor, worker) + if (System.getProperty("spark.master").equals("yarn") && System.getProperty("spark.submit.deployMode").equals("cluster")) { val res = workspace.run() if (res != 0) { @@ -46,7 +47,7 @@ object JobWorkSpace extends Logging { } catch { case throwable: Throwable => logError("Error occurred when init job workspace.", throwable) - System.exit(1) + 2 } }