aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/src/main/scala/org/apache/spark/deploy/RRunner.scala10
1 files changed, 7 insertions, 3 deletions
diff --git a/core/src/main/scala/org/apache/spark/deploy/RRunner.scala b/core/src/main/scala/org/apache/spark/deploy/RRunner.scala
index 05b954ce36..58cc1f9d96 100644
--- a/core/src/main/scala/org/apache/spark/deploy/RRunner.scala
+++ b/core/src/main/scala/org/apache/spark/deploy/RRunner.scala
@@ -25,6 +25,7 @@ import scala.collection.JavaConverters._
import org.apache.hadoop.fs.Path
import org.apache.spark.api.r.{RBackend, RUtils}
+import org.apache.spark.{SparkException, SparkUserAppException}
import org.apache.spark.util.RedirectThread
/**
@@ -84,12 +85,15 @@ object RRunner {
} finally {
sparkRBackend.close()
}
- System.exit(returnCode)
+ if (returnCode != 0) {
+ throw new SparkUserAppException(returnCode)
+ }
} else {
+ val errorMessage = s"SparkR backend did not initialize in $backendTimeout seconds"
// scalastyle:off println
- System.err.println("SparkR backend did not initialize in " + backendTimeout + " seconds")
+ System.err.println(errorMessage)
// scalastyle:on println
- System.exit(-1)
+ throw new SparkException(errorMessage)
}
}
}